WO2006016451A1 - Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program - Google Patents

Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program Download PDF

Info

Publication number
WO2006016451A1
WO2006016451A1 PCT/JP2005/011482 JP2005011482W WO2006016451A1 WO 2006016451 A1 WO2006016451 A1 WO 2006016451A1 JP 2005011482 W JP2005011482 W JP 2005011482W WO 2006016451 A1 WO2006016451 A1 WO 2006016451A1
Authority
WO
WIPO (PCT)
Prior art keywords
retiming
data
processing
control data
arithmetic
Prior art date
Application number
PCT/JP2005/011482
Other languages
French (fr)
Japanese (ja)
Inventor
Junichi Naoi
Original Assignee
Sony Computer Entertainment Inc.
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 Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Publication of WO2006016451A1 publication Critical patent/WO2006016451A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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

Definitions

  • Arithmetic pipeline processing method by arithmetic pipeline, semiconductor device, computer program
  • the present invention relates to a semiconductor device, and more particularly to a technique for suppressing power consumption of an arithmetic pipeline by the semiconductor device.
  • Such heat generation due to increased power consumption of semiconductor devices may be dealt with by reducing the operating voltage.
  • reducing the operating voltage it is necessary to lower the threshold voltage to guarantee the operation of the transistor itself.
  • lowering the threshold voltage has another problem of increasing leakage current.
  • leakage current it is predicted that further miniaturization will progress in the future, and it is predicted that the leakage current will be larger than the operating current in the countermeasures that reduce the operating voltage.
  • serial operation pipelines are suitable for applications that require discrete operations that suddenly and explode, such as computer graphics that represent frequently moving objects, such as instruction fetch (fe tch), It is intended to speed up processing by sequentially performing separate tasks such as instruction decoding and execution, and cascades arithmetic units that handle a small number of instructions. Composed.
  • Various operations such as addition / subtraction, floating-point operation, comparison, Boolean algebra, selection (IF statement), etc. can be realized by appropriately changing the combination of multiple arithmetic units connected in cascade.
  • serial computation pipelines tend to consume more power because they use a large number of computing units.
  • An object of the present invention is to provide a technique for suppressing the power consumption of such a conventional arithmetic pipeline while minimizing the deterioration of the performance. Disclosure of the invention
  • An arithmetic pipeline that solves the above-described problems includes a processing unit capable of dynamically changing processing capacity and a retiming unit for retiming or squeezing input data alternately. And a pipeline controller that supplies control data for retiming or passing through the processing results of the processing means connected to the previous stage to each retiming means.
  • the pipeline controller supplies control data to each retiming means so that a predetermined number of retiming means perform retiming of processing results and the remaining retiming means pass through the processing results.
  • the latency of the deductive mechanism is determined according to the number of retiming means that perform retiming. It is configured to Mel so.
  • the number of retiming means for performing retiming is determined by control data supplied from the pipeline controller to the arithmetic mechanism. Retiming increases latency. By controlling the number of retiming means that perform retiming, the latency of the calculation mechanism can be controlled, so that power consumption can be reduced while minimizing performance changes.
  • the pipeline controller is configured to generate a plurality of the control data according to the processing capability of each processing means.
  • the latency of the calculation mechanism changes according to the change in the processing capability of the processing means.
  • the pipeline controller The plurality of control data is generated according to Z or the substrate bias value.
  • the pipeline controller dynamically changes the latency and threshold voltage according to the operating voltage value and Z or substrate bias value actually supplied to the processing means, thereby changing the performance of the processing device. Power consumption can be minimized while suppressing
  • the pipeline controller For example, when each processing means is configured by an element capable of changing performance, and the processing capacity is dynamically changed by the change in the performance of the element, the pipeline controller For example, the control data is configured to be generated according to the performance of the element.
  • the pipeline controller In the case where the element constituting the processing unit is configured to change its processing capability in accordance with a change in supplied operating voltage value and Z or substrate bias value, the pipeline controller The plurality of control data is generated according to the operating voltage value and Z or the substrate bias value. Even in such a configuration, the pipeline controller dynamically changes the latency and the threshold voltage in accordance with the operating voltage value and / or the substrate bias value that is actually supplied to the elements of the processing means. Various costs Electric power can be minimized while suppressing changes in performance.
  • the pipeline controller is configured to generate the plurality of control data as alternating data or data having a constant value.
  • the retiming means is configured to retime the processing result when the control data is alternating, and to slew the processing result when the control data takes a constant value.
  • the retiming means retimes the processing result according to the change of “1” and “0” of the control data.
  • a processing method using an arithmetic pipeline according to the present invention includes an element that can change performance, and a processing capacity that dynamically changes in accordance with the change of the element, and a processing result by the processing apparatus.
  • Retiming or slewing retiming circuits are connected to arithmetic mechanisms that are cascaded alternately, and each retiming circuit is to retime or slew processing results from the processor connected in the previous stage.
  • This method is executed by an apparatus that supplies the control data.
  • the control for each retiming means is performed so that a predetermined number of retiming circuits perform retiming of processing results and the remaining retiming circuits slew processing results according to the performance of the element. Generate data.
  • the semiconductor device of the present invention is configured by an element capable of changing performance, and a processing unit whose processing capability dynamically changes according to the change of the element, and a processing result by the processing unit is retimed.
  • each retiming circuit is connected to an arithmetic mechanism that is cascade-connected with each other, and each retiming circuit re-times or slews the processing result of the processor connected in the previous stage.
  • a predetermined number of retiming circuits perform retiming of processing results, and the remaining retiming circuits pass through the processing results.
  • means for generating the control data for each retiming means are examples of control data for each retiming means.
  • the computer program of the present invention is composed of an element capable of changing performance, and a processor whose processing capability dynamically changes in accordance with the change of the element, and a processing result by the processor is retimed or And a retiming circuit that passes through is connected to an arithmetic mechanism that is cascade-connected alternately, Depending on the performance of the element, a predetermined number of retiming circuits reprocess the processing results to a computer that supplies control data for retiming or slewing the processing results of the processing unit connected to the previous stage to the processing circuit
  • This is a computer program for executing the processing for generating the control data for each retiming means so that the timing is executed and the remaining retiming circuit passes through the processing result.
  • FIG. 1 is a diagram showing a configuration example of an arithmetic pipeline to which the present invention is applied.
  • FIG. 2 is a diagram showing SALP when SALC is connected in 8-stage cascade.
  • FIG. 3 is a diagram showing S A L P when S A L C is connected in a four-stage cascade connection.
  • Fig. 4 is an example of SAL C.
  • FIG. 5 is an illustration of a pipeline controller.
  • FIG. 6 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 7 is a diagram for explaining processing by SALC.
  • FIG. 8 is a diagram for explaining processing by SALC.
  • FIG. 9 is a diagram for explaining processing by SALC.
  • FIG. 10 is a diagram for explaining processing by SALC.
  • FIG. 11 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 12 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 13 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 14 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 15 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 16 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 17 is a diagram for explaining processing using the arithmetic pipeline.
  • FIG. 18 is a diagram for explaining processing using the arithmetic pipeline. BEST MODE FOR CARRYING OUT THE INVENTION
  • a serial operation pipeline which is an example of an operation mechanism, is configured with an architecture that is resistant to latency fluctuations, and the latency is dynamically controlled.
  • the threshold voltage is dynamically controlled by substrate bias technology.
  • the latency of the serial operation pipeline is determined by the number of times retiming is performed on the output of the cascade connected arithmetic units in the serial operation pipeline. For example, if retiming is performed once with cascaded computing units, the latency is 2. The latency is 3 if you retime twice. In the present invention, the latency is varied by dynamically changing the number of times retiming is performed in the serial operation pipeline.
  • FIG. 1 is a diagram showing a configuration example of an arithmetic pipeline 1 to which the present invention is applied.
  • This arithmetic pipeline 1 includes a serial arithmetic pipeline (Serial-ALPipeline, hereinafter referred to as “SALP”) in which a plurality of serial arithmetic logic operation circuits (Serial ALCelK, hereinafter referred to as “SALC”) 3 are cascade-connected. 2 is installed, and a pipeline controller 4 that supplies control data for adjusting the number of stages of SAL C 3 connected in cascade is connected to SALP2.
  • SALP 2 is supplied with the operating voltage of each element in the SAL C 3 from the operating voltage supply device 6 and is supplied with the substrate bias of each element in the SAL C 3 from the substrate bias supply device 7.
  • a single SAL P 2 is provided for ease of explanation, but a plurality of SALP 2 may be provided.
  • control data is supplied from the pipeline controller 4 to each SAL P 2
  • operating voltage is supplied from the operating voltage supply device 6 to each SAL P 2.
  • the substrate bias is supplied to the SALP 2 from the substrate bias supply device 7.
  • SALP 2 implements various multi-bit arithmetic instructions by combining simple serial instructions.
  • SALP2 has multiple SAL Cs connected in cascade 3 and a retiming circuit 5 provided after the SALC 3 for latching and retiming output data from the SALC 3.
  • the SA LC 3 and the retiming circuit 5 are cascade-connected alternately.
  • SALP 2 shown in FIG. 1 has nine SALCs 3 that can be connected to a nine-stage cascade, and a retiming circuit 5 is provided after each S ALC 3.
  • the retiming circuit 5 is configured to determine whether the output data from the SALC 3 is latched and retimed or through according to the control data supplied from the pipeline controller 4. When retiming the output data of SALC 3, the retiming circuit 5 latches the output data of SALC 3 and outputs the latched output data at the next operation timing.
  • SALC 3 output data When SALC 3 output data is passed through, SALC 3 output data is output as it is without being latched. To the same operation timing.
  • a retiming circuit 5 can realize the same function as the latch circuit, for example, can be configured using FF (Flip-flop). It is configured by using the same number of FFs as the number of SALC3 output terminals.
  • the SALP 2 is configured by connecting the 9 stages of SALC 3 in cascade.
  • the SALP 2 when data is input to SALC 3 at the 1st stage, the data is output from SALC 3 at the 9th stage, so the latency is “1”.
  • the number of retiming circuits 5 that perform retiming in this way is “0”, the latency is “1”.
  • this SAL P 2 is connected to the SALC with 4 stage power scale connection. It consists of SALC 3 connected in cascade with 3 and 5 stages.
  • the data When data is input to the first-stage SALC 3, the data is output from the fourth-stage SALC 3, and the output data is latched by the retiming circuit 5.
  • the data When data is input from the retiming circuit 5 to the fifth stage SALC 3 at the next operation timing, the data is output from the ninth stage SAL C 3. In this way, from the input of data to the first stage SALC 3, the ninth stage S The latency is “2” because two operation timings are required until data is output from ALC3.
  • the number of retiming circuits 5 that perform retiming is “1”, the latency is “2”.
  • the critical path will be extended, and the elements used for SALC 3 will need high performance.
  • the interval of the retiming circuit 5 that performs retiming by reducing the number of stages of SALC3 is shortened (the latency is increased)
  • the elements used for SAL C 3 need only have low performance. Power consumption can be reduced by using low-performance elements.
  • the performance of S A L C 3 is varied by varying the performance of the device by varying the operating voltage and / or substrate bias.
  • the operating voltage supply device 6 is a device that supplies an operating voltage to the elements constituting the S AL C 3.
  • the supplied operating voltage value is variable, and can be operated from outside the operating voltage supply device 6.
  • the operating voltage value may be manipulated artificially, but for example, it may be manipulated by a control device not shown in the figure so that appropriate element performance can be obtained according to the content processed by SAL P 2. Also good.
  • the substrate bias supply device 7 is a device that supplies substrate bias to the elements constituting the S A L C 3.
  • the substrate bias value to be supplied is variable and can be operated from the outside of the substrate bias supply device 6.
  • the operation of the substrate bias value may be performed artificially as with the operating voltage supply device 6. For example, control outside the figure is performed so that appropriate element performance can be obtained according to the content processed by SALP 2. You may make it operate with an apparatus.
  • the performance of the element used for the SALC 3 can be changed by changing the operating voltage value with the operating voltage supply device 6 or changing the substrate bias value with the substrate bias supply device 7. Board via in forward or reverse direction By changing the bias voltage or changing the substrate bias value, the threshold voltage of the element used for SALC3, the amount of leakage current, etc. are changed, thereby changing the device performance.
  • FIGS. 2 and 3 are diagrams respectively showing the case where S ALC 3 is connected in 8-stage cascade and the case where 4-stage cascade is used.
  • SALC3 is in retiming circuit 5 for every 8 stages.
  • SALC3 is in the retiming state of retiming circuit 5 every four stages.
  • the other retiming circuit 5 is in the through state.
  • the number of stages where SAL C 3 is cascaded is larger than in Fig. 3, and the number of retiming times is reduced, resulting in shorter latency. 2 has a longer retiming interval than FIG. 3, so the element used in SAL C 3 in FIG. 2 has higher performance than the element used in SAL C 3 in FIG.
  • FIG. 4 shows an example of SAL C 3 configuration.
  • SAL C 3 according to this embodiment has three data input terminals Dli, D2i, D3i and three data output terminals Dlo, D2o, D3o.
  • a forward line is formed to output three lines of data from to the next stage (right side of the figure). Since all lines are connected in the forward direction, there is no need to retiming between all SAL P 3, and as many SAL P 3 as can be processed in one cycle can be inserted.
  • the data on the line output from the data output terminal Dlo is referred to as “output data”, and the data on the line output from the data output terminal D2o
  • the evening is referred to as “reference data”, and the data on the line output from the data output terminal D3o is referred to as “enable evening”.
  • the SALC 3 also decodes the contents of the instruction input from the instruction input terminal CON, executes a process according to the decoded result, and selects a decoder 31 for selecting a line for outputting the execution result.
  • Examples of processing include control processing such as path control, latch control, and conditional instruction in addition to arithmetic processing such as four arithmetic operations and logical operations.
  • macro instructions can be executed.
  • the command is input from a command input device not shown. This command input device inputs a predetermined command to each S A L C 3 according to the processing executed in S A L P 2.
  • the decoder 31 is connected to various latch circuits for facilitating the above operations, that is, a shift latch circuit 33, an enable latch circuit 34, and a carrier latch circuit 32. Yes.
  • the shift latch circuit 33 latches the reference data so that the reference data line is delayed by a predetermined time from the output line, and outputs this in the next digit, for example, in the operation. To work.
  • the carry latch circuit 32 latches the carry of the calculation result until the next digit is calculated.
  • the enable latch circuit 34 latches the enable data input from the previous stage S A L C 3.
  • Enable Day is a data for instructing Enable / Disable for the processing executed by the decoder 31.
  • the pipeline controller 4 in FIG. 1 receives latency data and a clock for determining the retiming interval of S A L P 2. Latency overnight depends on the contents of the processing by SALP 2 and the performance of the elements used in SALC 3.For example, it depends on the substrate bias value supplied from the substrate bias supply device 7 and the operation voltage supply device 6, the operation voltage value, etc. Determined.
  • the pipeline controller 4 generates the same number of control data as the retiming circuit 5 based on these data. Each control data is supplied to the corresponding retiming circuit 5.
  • FIG. 5 is an exemplary diagram of such a pipeline controller 4.
  • the pipeline controller 4 includes a latency register 41 and the same number of control data generators 42 as the retiming circuit 5.
  • the pipeline Although an example in which the in-controller 4 is configured by hardware such as a semiconductor device is shown, it may be configured in software by causing a predetermined CPU to execute the computer program of the present invention.
  • the latency register 41 derives a stage value representing the number of stages of S A L C 3 connected in cascade from the latency data.
  • the latency register 4 1 sends the derived stage value to the control data generation unit 4 2.
  • the latency data may be used as a step value as it is.
  • the control data generation unit 4 2 includes a subtractor 4 3, a selector 4 4, a discriminator 4 5, and an OR circuit 4 6, and generates control data from the stage values sent from the clock and latency register 4 1. To do.
  • the subtractor 4 3 is configured to subtract 1 from the input value.
  • the step value is input from the latency register 4 1 to the subtracter 4 3 of the control data generation unit 42 in the first stage.
  • the output of the selector 4 4 of the control data generation unit 42 in the previous stage is input to the subtracter 4 3 of the control data generation unit 42 in the second and subsequent stages.
  • the discriminator 44 is configured to discriminate whether or not the subtraction result by the subtractor 43 is “0” and input the discrimination result to the selector 45 and the OR circuit 46.
  • the selector 45 is configured to output either the subtraction result from the subtractor 43 or the stage value sent from the latency register 41 according to the determination result from the discriminator 44.
  • the selector 4 5 outputs the stage value sent from the latency register 4 1 when the discrimination result from the discriminator 4 4 indicates that the subtraction result by the subtractor 4 3 is “0”. When it indicates that it is not “0”, the result of subtraction by the subtractor 4 3 is output.
  • the 0R circuit 46 is configured to perform 0R operation on the clock and the discrimination result from the discriminator 44 and to input the output to the retiming circuit 5 as control data.
  • the OR circuit 4 6 outputs control data as alternating data when the discrimination result from the discriminator 4 4 indicates that the subtraction result by the subtracter 4 3 is “0”. When it indicates that it is not, a constant value of control data is output.
  • the selector 45 and the OR circuit 46 operate as follows.
  • the selector 45 outputs the stage value output from the latency register 41 when the determination result from the determiner 44 is “1”, and outputs the subtraction result from the subtractor 43 when it is “0”.
  • the OR circuit 46 inverts and receives the discrimination result from the discriminator 44. In other words, “1” is input to the OR circuit 46 when the determination result is “0”, and “0” is input when the determination result is “1”. When the discrimination result from the discriminator 44 is “1”, “0” is inverted and “0” and “1” of the clock are output as control data as they are. When the discrimination result from the discriminator 44 is “0”, it is inverted and “1” is inputted, and a constant value “1” is outputted as control data.
  • control data such that SAL C 3 having the number of stages corresponding to the stage value is cascade-connected is supplied from the pipeline controller 4 to the SALP 2.
  • the control data output from the control data generator 42 up to the third level is a constant value, and is output from the control data generator 42 of the fourth level.
  • the control day will be a police box evening.
  • the SALP2 retiming circuit 5 is in the through state when the control data is a constant value (for example, “1”), and is in the retiming state when the control data is alternating data.
  • the stage value is “4”
  • the control data input to every four retiming circuits 5 is alternating data, and the others are constant control data.
  • FIG. 6 shows SALP 2 for the compute pipeline 1 used.
  • S ALC 3 has 6 stages, the retiming circuit 5 between the 4th stage and the 5th stage SALC 3 is in the retiming state, and the other retiming circuit 5 is in the through state.
  • the first SALC is S ALC3A
  • the second and subsequent stages are S ALC 3 B, SALC 3C, SAL C3D, SALC 3 E, and SALC 3F.
  • SALC 3 uses the command input from the command input terminal CON as follows. Do it.
  • the decoder 31 adds the data A inputted to the data input terminal Dl i and the reference data B inputted to the data input terminal D2i, and sends the result to the data output terminal Dlo.
  • the enable signal C input to the data input terminal D3i is sent to the data output terminal D3o and is latched by the enable latch circuit 34.
  • the decoder 31 performs the above addition process according to the enable data C sent to the data output terminal D3o.
  • the reference data B 1 latched in the shift latch circuit 3 3 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2i is transferred to the shift latch circuit 3 3 via the decoder 31. Sent.
  • the shift latch circuit 33 latches the new reference data B that has been sent (FIG. 7).
  • the decoder 31 adds the data A input to the data input terminal Dli and the reference data B input to the data input terminal D2i, and sends the result to the data output terminal Dlo.
  • the enable signal C input to the data input terminal D3i is sent to the data output terminal D3o.
  • the decoder 31 performs the above addition process according to the enable data C 1 latched in the enable latch circuit 34.
  • the reference data B 1 latched in the shift latch circuit 33 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2i is transferred to the shift latch circuit 33 via the coder 31. Sent.
  • the shift latch circuit 33 latches the new reference data B that has been sent (FIG. 8).
  • the decoder 31 sends the data A input to the data input terminal Dl i as it is to the data output terminal Dlo.
  • Enable device C input to data input terminal D3i is sent to data output terminal D3o.
  • the decoder 31 sends the data A input to the data input terminal Dli as described above to the data output terminal Dlo.
  • the reference data B 1 latched in the shift latch circuit 3 3 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2 i is transferred to the shift latch circuit 3 3 via the decoder 31. Sent to.
  • the shift latch circuit 33 latches the new reference data B that has been sent (FIG.
  • the decoder 31 sends the data A input to the data input terminal Dli as it is to the output terminal Dlo.
  • the enable data C input to the data input terminal D3i is sent to the data output terminal D3o and is latched by the enable latch circuit 34.
  • the decoder 31 sends the data A input to the data input terminal Dli to the data output terminal Dlo as described above according to the enable signal C sent to the data output terminal D3o.
  • the reference data B 1 latched in the shift latch circuit 33 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2i is sent to the shift latch circuit 33 via the decoder 31. It is done.
  • the shift latch circuit 33 latches the new reference data B that has been sent (FIG. 10).
  • the decoder 31 adds the data input to the data output terminal Dli or the data input terminal Dlo according to the data output terminal D3o or the enable data of the enable latch circuit 34. Will be sent to.
  • the enable data is “1”
  • the decoder 31 performs an addition process, and when it is “0”, the decoder sends the data input to the data input terminal Dli as it is to the data output terminal Dlo. To do.
  • Figure 11 shows the data input to the data input terminals Dli, D2i, and D3i.
  • Data “100000” is input to the data input terminal Dli
  • reference data “010000” is input to the data input terminal D2i
  • enable data “110000” is input to the data input terminal D3i in this order.
  • the operation (2X 3 + 1) can be executed.
  • Each S ALC 3 A to F executes any of the above processes i) to iv) according to the instruction input from the instruction input terminal C0N, and the solution of the operation is the data output terminal of SAL C 3 at the final stage. Output from Dlo.
  • Figure 12 shows the state in which the first data (1,0,1) is input to the first SAL C 3 A in the first cycle (0 cycle).
  • SALC3A executes the process i) according to the instruction input from the instruction input terminal C0N.
  • (1,0,1) is output to the data output terminals Dlo, D2o, and D3o of S ALC 3 A.
  • SALC3B executes the process of iii) according to the instruction input from instruction input terminal C0N.
  • SALC3B Day (1,0,1) is output to the evening output terminals Dlo, D2o, and D3o.
  • the third and fourth stage SA LC3 C and D perform the same processing as SALC 3 B. In this cycle, no data is sent after the retiming circuit 5, and the initial state remains unchanged.
  • FIG 13 shows the state in which the second delay (0,1,1) is input to the first stage SALC 3 A in the first cycle.
  • SALC 3 A executes the process ii) according to the instruction input from the instruction input terminal CON. (1,0,1) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A.
  • SALC 3 B executes the process i) according to the instruction input from the instruction input terminal CON. (1,0,1) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 B.
  • SALC 3 C executes the process of iii) according to the command input from the command input terminal CON when the data (1, 0, 1) is input from SALC3B. (1, 0, 1) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 C.
  • SALC 3D performs the same processing as SALC 3 C.
  • the retiming circuit 5 is supplied with data (1,0,1) from SALC 3D.
  • the retiming circuit 5 sends the supplied data to the SALC 3 E at the next stage according to the control data supplied from the pipeline controller 4.
  • data (1,0, 1) is input from the retiming circuit 5
  • the SALC 3 E executes the process of iii) according to the instruction input from the instruction input terminal C0N.
  • (1,0,1) is output to the output terminals Dlo, D2o, and D3o of SALC 3 E.
  • SALC 3 F performs the same processing as SALC 3 E. “1” is output from the data output terminal Dlo of S ALC 3 E.
  • Figure 14 shows the state in which the third data (0, 0, 0) is input to the first stage SALC 3 A in the second cycle.
  • SALC 3 A executes the process ii) according to the instruction input from the instruction input terminal C0N. (0,1,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A.
  • SALC 3 B executes the process ii) according to the instruction input from the instruction input terminal C0N. (1,0,0) is output to the data output terminals Dlo, D2o and D3o of SALC 3 B.
  • SALC 3 C data (1,0,0) is input from SALC 3 B force, it is determined by the command input from command input terminal C0N. Perform step iv). (1, 0, 0) is output to the data output terminals Dlo, D2o, and D3o of S ALC 3 C.
  • SALC3D executes the processing of iii) according to the command input from the command input terminal CON when the data (1,0,0) is input from SALC 3C. (1,0,0) is output to the data output terminals Dlo, D2o, and D3o of SA LC 3D.
  • the output of the SALC3D of the previous cycle is latched as it is.
  • (1,0,1) is latched.
  • (1,0,1) latched in the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC 3 E subsequent to the retiming circuit 5.
  • SALC3E executes the processing of iii) according to the command input from the command input terminal CON when the data (1,0,1) is input from the retiming circuit 5.
  • (1, 0, 1) is output to the output terminals Dlo, D2o, and D3o of S ALC 3 E.
  • SALC3F executes the process iii) according to the instruction input from the instruction input terminal CON. “1” is output from the data output terminal Dlo of SALC 3 E.
  • Figure 15 shows the state in which the fourth data (0, 0, 0) is input to the first stage SALC3A in the third cycle.
  • SALC 3 A executes the process ii) according to the instruction input from the instruction input terminal C0N. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A.
  • SALC 3 B executes the processing of ii) according to the instruction input from the instruction input terminal C0N when the data (0,0,0) is input from SALC 3 A. (0,1,0) is output to the data output terminals Dio, D2o, D3o of SALC 3 B.
  • SALC3C executes the process of iii) according to the command input from the command input terminal C0N when the data (0, 1, 0) is input from SALC3B. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 C.
  • SALC 3D executes the process of iv) according to the instruction input from instruction input terminal C0N. (0,0,0) is output to the data output terminals Dlo, D2o, D3o of SALC 3D.
  • the SALC 3D output of the previous cycle is latched as it is. In this case, (1,0,0) is latched.
  • SALC3E is a retiming circuit
  • data (1,0,0) is input from 5
  • the process of iii) is executed by the instruction input from the instruction input terminal CON.
  • (1,0,0) is output to the output terminals Dlo, D2o, and D3o of S ALC 3 E.
  • SALC3F executes the process of iii) according to the instruction input from the instruction input terminal CON. 3 Eight. “1” is output from the data output terminal 010 of 3 £.
  • Figure 16 shows the state in which the fifth data (0, 0, 0) is input to the first stage SALC3A in the fourth cycle.
  • SAL C 3 A executes the process ii) according to the instruction input from the instruction input terminal CON. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A.
  • SALC 3 B executes the process ii) according to the instruction input from the instruction input terminal CON. (0, 0, 0) is output to the output terminals Dlo, D2o, D3o of SALC3B.
  • SALC3C executes the process of iii) according to the instruction input from instruction input terminal C0N. (0,1,0) is output to the data output terminals Dlo, D2o, and D3o of S AL C 3 C.
  • SALC 3D executes the process iii) according to the command input from command input terminal C0N. (0, 0, 0) is output to the output terminals Dlo, D2o, and D3o of S ALC 3D.
  • the output of the SAL C 3D of the previous cycle is latched as it is.
  • (0,0,0) is latched.
  • (0,0,0) latched by the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC3E at the subsequent stage of the retiming circuit 5.
  • the SALC3E executes the process iv) according to the instruction input from the instruction input terminal C0N.
  • (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of S ALC 3 E.
  • SALC3F executes the process iii) according to the instruction input from the instruction input terminal C0N. “0” is output from the data output terminal Dlo of SAL C 3 E.
  • FIG 17 shows the state in which the 6th data (0,0,0) is input to the first stage SALC3A in the 5th cycle.
  • SAL C 3 A receives data (0, 0, 0)
  • process ii) is executed by the command input from command input terminal CON. (0, 0, 0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A.
  • SALC3 B executes the process ii) according to the instruction input from the instruction input terminal CON. (0,0,0) is output to the data output terminals Dlo, D2o, D3o of SALC 3B.
  • SALC3C executes the process iii) according to the instruction input from the instruction input terminal CON.
  • S ALC 3 C data output terminal Dlo, D2o, D3o
  • S ALC 3D executes the process of iii) according to the instruction input from the instruction input terminal CON. (0, 1, 0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3D.
  • the output of the SAL C 3D of the previous cycle is latched as it is.
  • (0,0,0) is latched.
  • (0,0,0) latched in the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC3E at the subsequent stage of the retiming circuit 5.
  • the SALC3E executes the process iii) according to the instruction input from the instruction input terminal C0N.
  • (0,0,0) is output to the output terminals Dlo, D2o, and D3o of S ALC 3 E.
  • SALC3F executes the process iv) according to the instruction input from the instruction input terminal C0N. “0” is output from the data output terminal Dlo of SALC3E.
  • FIG 18 shows the state after all data has been input in the sixth cycle.
  • S ALC 3 A to S ALC 3 D have been processed because there is no input.
  • the output of the SAL C 3D of the previous cycle is latched as it is.
  • (0,1,0) is latched.
  • (0,1,0) latched by the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC 3 E at the subsequent stage of the retiming circuit 5.
  • the SALC 3 E executes the process iii) according to the instruction input from the instruction input terminal C0N.
  • S ALC 3 E output terminal Dlo, D2o, D3o Outputs (0, 0, 0).
  • SALC3F executes the process of iii) according to the instruction input from the instruction input terminal CON. “0” is output from the data output terminal 010 of 3803 £.
  • the arithmetic pipeline 1 of this embodiment can adjust the number of stages of S A LC 3 cascade-connected in the SAL P 2 by the control data from the pipeline controller 4. Therefore, the latency of SALP 2 can be changed dynamically.
  • each element constituting the SAL C 3 can dynamically change the threshold voltage by the operation voltage supplied from the operation voltage supply device 6 and the substrate bias supplied from the substrate bias supply device 7. The performance of each element is variable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

An arithmetic pipeline capable of suppressing the power consumption while minimizing the deterioration of performance of the conventional serial arithmetic pipe line. The arithmetic pipeline (1) comprises a SALP (2), in which SALCs (3) capable of varying the performances of components dynamically and re-timing circuits (5) for re-timing or passing through the processed results by the SALCs (3) are alternately cascaded, and a pipeline controller (4) for generating control data to be re-timed or passed through by the re-timing circuits (5), for every re-timing circuits (5). The pipeline controller (4) feeds control data so that a predetermined number of re-timing means may re-time the processed results.

Description

演算パイプライン、 演算パイプラインによる処理方法、 半導体装置、 コンビュ —タプログラム Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, computer program
技術分野 Technical field
本発明は、 半導体装置に関し、 特に半導体装置による演算パイプラインにつ いての消費電力を抑制するための技術に関する。  The present invention relates to a semiconductor device, and more particularly to a technique for suppressing power consumption of an arithmetic pipeline by the semiconductor device.
 Light
細 1  Fine 1
発明の背景 Background of the Invention
 book
半導体装置は、 微細加工技術の進歩により、 トランジスタなどの素子の微細 化、 高密度化が進んでいる。 そのために、 チップ面積を小さくしつつ、 大規模 で高機能な電子回路を持つ半導体装置が作られるようになつている。 半導体装 置の大規模化により、 従来よりも大量の素子を動作させる必要がある。 半導体 装置は、 大量の素子が動作することで消費電力が増大し、 ひいてはコンシュ一 マで用いることが困難になるくらいの熱が発生することになる。  In semiconductor devices, elements such as transistors are becoming finer and higher in density due to advances in microfabrication technology. For this reason, semiconductor devices with large-scale and highly functional electronic circuits are being manufactured while reducing the chip area. Due to the larger scale of semiconductor devices, it is necessary to operate a larger number of elements than before. In semiconductor devices, power consumption increases due to the operation of a large number of elements, and as a result, heat is generated that makes it difficult to use in a consumer.
このような半導体装置の消費電力増大による発熱に対して、 動作電圧を低減 することで対処することがある。 動作電圧を低減させる場合には、 トランジス 夕の動作自体を保証するために、 スレツショルド電圧を下げる必要がある。 し かし、 スレツショルド電圧を下げると、 リーク電流が増大するという別の問題 が発生する。 また、 将来的には更に微細化が進むことが予測されており、 動作 電圧を低減する対処方法では、 動作電流よりもリーク電流が多くなることが予 測される。  Such heat generation due to increased power consumption of semiconductor devices may be dealt with by reducing the operating voltage. When reducing the operating voltage, it is necessary to lower the threshold voltage to guarantee the operation of the transistor itself. However, lowering the threshold voltage has another problem of increasing leakage current. In addition, it is predicted that further miniaturization will progress in the future, and it is predicted that the leakage current will be larger than the operating current in the countermeasures that reduce the operating voltage.
最近は、 基板バイアス技術の進歩により、 動作電圧を下げる他に、 基板バイ ァスを変化させて消費電力を抑えることも行われている。 基板バイアスを変化 させることでスレツショルド電圧をコントロールしたり、 基板バイアススイツ チによって停止しているトランジスタのリーク電流を抑えることができる。 動作電圧を低減するなどの電圧制御にたよる方法では、 上記のように様々な 問題が顕在化してきており、 すべての問題を解決することが困難になっている。 また、 基板バイァス技術を用いても、 アーキテクチャ的には主にスリープモー ドのような実動作ではない状況を改善させるにとどまっている。 Recently, due to advances in substrate bias technology, in addition to lowering the operating voltage, power consumption is reduced by changing the substrate bias. By changing the substrate bias, the threshold voltage can be controlled, and the leakage current of the transistor that is stopped by the substrate bias switch can be suppressed. In the method based on voltage control such as reducing the operating voltage, various problems have become apparent as described above, making it difficult to solve all the problems. In addition, even if board bias technology is used, the situation that is not an actual operation such as sleep mode is mainly improved in terms of architecture.
本願出願人は、 特開 2 0 0 3— 2 9 6 0 9 6号に示すように、 シリアル演算 パイプラインについての発明を出願している。 このようなシリアル演算パイプ ラインは、 頻繁に動くオブジェクトをコンピュータ ·グラフィクスによって表 現するような、 突発的かつ爆発的に膨らむ離散演算を必要とする用途に適して おり、 命令取り出し (fe tch)、 命令解読 (decode) , その実行 (execute) のよ うな、 別々の作業を順次同時に行うことによって処理の高速化を図るものであ り、 少数の命令群を扱う演算器をカスケ一ド接続して構成される。 カスケード 接続された複数の演算器のうち使用するものの組み合わせを適宜変えることに より、 加減算、 浮動小数点演算、 比較、 ブール代数、 選択 (IF文) 等、 様々な 演算処理を実現することができる。  The applicant of the present application has applied for an invention relating to a serial arithmetic pipeline, as disclosed in Japanese Patent Application Laid-Open No. 2000-296-96. Such serial operation pipelines are suitable for applications that require discrete operations that suddenly and explode, such as computer graphics that represent frequently moving objects, such as instruction fetch (fe tch), It is intended to speed up processing by sequentially performing separate tasks such as instruction decoding and execution, and cascades arithmetic units that handle a small number of instructions. Composed. Various operations such as addition / subtraction, floating-point operation, comparison, Boolean algebra, selection (IF statement), etc. can be realized by appropriately changing the combination of multiple arithmetic units connected in cascade.
このようなシリアル演算パイプラインは、 演算器を大量に用いることから消 費電力が大きくなりがちである。  Such serial computation pipelines tend to consume more power because they use a large number of computing units.
本発明は、 このような従来の演算パイプラインを、 その性能の劣化を最小限 にしつつ、 消費電力を抑えるようにする技術を提供することを課題とする。 発明の開示  An object of the present invention is to provide a technique for suppressing the power consumption of such a conventional arithmetic pipeline while minimizing the deterioration of the performance. Disclosure of the invention
以上の課題を解決する本発明の演算パイプラインは、 処理能力を動的に変化 させることが可能な処理手段、 及び入力されたデータをリタイミング又はスル 一するためのリタイミング手段が交互にカスケ一ド接続されて成る演算機構と、 各リタイミング手段に、 前段に接続された処理手段による処理結果をリ夕イミ ング又はスルーさせるための制御デ一夕を供給するパイプラインコントローラ と、 を備えており、 前記パイプラインコントローラは、 所定の個数のリタイミ ング手段が処理結果のリタイミングを行うとともに残りのリタイミング手段が 処理結果をスルーするように、 各リタイミング手段に制御データを供給するよ うに構成されており、 リタイミングを行うリタイミング手段の個数により、 前 記演寞機構のレイテンシを決めるように構成されている。  An arithmetic pipeline according to the present invention that solves the above-described problems includes a processing unit capable of dynamically changing processing capacity and a retiming unit for retiming or squeezing input data alternately. And a pipeline controller that supplies control data for retiming or passing through the processing results of the processing means connected to the previous stage to each retiming means. The pipeline controller supplies control data to each retiming means so that a predetermined number of retiming means perform retiming of processing results and the remaining retiming means pass through the processing results. The latency of the deductive mechanism is determined according to the number of retiming means that perform retiming. It is configured to Mel so.
電気回路は、 通常、 処理能力が低くなるほど消費電力が少なくなる。 上記の ような本発明では、 パイプラインコントローラから演算機構に供給される制御 データにより、 リタイミングを行うリタイミング手段の個数が決まる。 リタイ ミングすることによりレイテンシは大きくなる。 リタイミングを行うリタイミ ング手段の個数を制御することで、 演算機構のレイテンシを制御することがで きるので、 性能変化を最小限に抑えつつ、 消費電力を抑えることができるよう になる。 Electrical circuits usually consume less power as processing power decreases. above In the present invention, the number of retiming means for performing retiming is determined by control data supplied from the pipeline controller to the arithmetic mechanism. Retiming increases latency. By controlling the number of retiming means that perform retiming, the latency of the calculation mechanism can be controlled, so that power consumption can be reduced while minimizing performance changes.
前記パイプラインコントローラは、 例えば、 複数の前記制御データを各処理 手段の処理能力に応じて生成するように構成される。 この場合には、 処理手段 の処理能力の変化に応じて、 演算機構のレイテンシが変化するようになる。 例えば、 前記処理手段が、 供給される動作電圧値及び Z又は基板バイアス値 の変化に応じて処理能力が変化するように構成されている場合には、 前記パイ プラインコントローラは、 前記動作電圧値及び Z又は前記基板バイァス値に応 じて前記複数の制御データを生成するように構成される。  For example, the pipeline controller is configured to generate a plurality of the control data according to the processing capability of each processing means. In this case, the latency of the calculation mechanism changes according to the change in the processing capability of the processing means. For example, when the processing means is configured to change the processing capability in accordance with changes in the supplied operating voltage value and Z or substrate bias value, the pipeline controller The plurality of control data is generated according to Z or the substrate bias value.
このような構成では、 パイプラインコントローラが、 実際に処理手段に供給 される動作電圧値及び Z又は基板バイアス値に応じて、 レイテンシとスレツシ ョルド電圧を動的に変化させて、 処理装置の性能変化を抑えつつ、 消費電力を 最小にすることができる。  In such a configuration, the pipeline controller dynamically changes the latency and threshold voltage according to the operating voltage value and Z or substrate bias value actually supplied to the processing means, thereby changing the performance of the processing device. Power consumption can be minimized while suppressing
各処理手段が、 例えば、 性能を変化させることが可能な素子により構成され、 素子の性能の変化により処理能力が動的に変化するように構成されている場合 には、 前記パイプラインコントローラは、 例えば、 複数の前記制御データを、 前記素子の性能に応じて生成するように構成される。  For example, when each processing means is configured by an element capable of changing performance, and the processing capacity is dynamically changed by the change in the performance of the element, the pipeline controller For example, the control data is configured to be generated according to the performance of the element.
例えば、 前記処理手段を構成する前記素子は、 供給される動作電圧値及び Z 又は基板バイアス値の変化に応じて処理能力が変化するように構成されている 場合には、 前記パイプラインコントローラは、 前記動作電圧値及び Z又は前記 基板バイアス値に応じて前記複数の制御データを生成するように構成される。 このような構成でも、 パイプラインコントローラが、 実際に処理手段の素子 に供給される動作電圧値及び/又は基板バイアス値に応じて、 レイテンシとス レツショルド電圧を動的に変化させて、 処理装置の性能変化を抑えつつ、 諸費 電力を最小にすることができる。 前記パイプラインコントローラは、 例えば、 前記複数の制御データを交番デ 一夕または一定値を取るデータとして生成するように構成されている。 このと き前記リタイミング手段は、 前記制御データが交番デ一夕のときは前記処理結 果をリタイミングし、 前記制御データが一定値を取るときは前記処理結果をス ルーするように構成される。 For example, in the case where the element constituting the processing unit is configured to change its processing capability in accordance with a change in supplied operating voltage value and Z or substrate bias value, the pipeline controller The plurality of control data is generated according to the operating voltage value and Z or the substrate bias value. Even in such a configuration, the pipeline controller dynamically changes the latency and the threshold voltage in accordance with the operating voltage value and / or the substrate bias value that is actually supplied to the elements of the processing means. Various costs Electric power can be minimized while suppressing changes in performance. For example, the pipeline controller is configured to generate the plurality of control data as alternating data or data having a constant value. At this time, the retiming means is configured to retime the processing result when the control data is alternating, and to slew the processing result when the control data takes a constant value. The
例えばリタイミング手段は、 制御データの 「1」、 「0」 の変化に合わせて処 理結果をリタイミングする。  For example, the retiming means retimes the processing result according to the change of “1” and “0” of the control data.
本発明の演算パイプラインによる処理方法は、 性能を変化させることが可能 な素子により構成されて、 前記素子の変化に応じて処理能力が動的に変化する 処理器と、 処理器による処理結果をリタイミング又はスルーするリタイミング 回路とが、 交互にカスケード接続されて成る演算機構に接続されており、 各リ タイミング回路に、 前段に接続された処理器による処理結果をリタイミング又 はスルーさせるための制御データを供給する装置により実行される方法である。 前記装置が、 前記素子の性能に応じて、 所定の個数のリタイミング回路が処理 結果のリタイミングを行うとともに残りのリタイミング回路が処理結果をスル —するように、 リタイミング手段毎の前記制御データを生成する。  A processing method using an arithmetic pipeline according to the present invention includes an element that can change performance, and a processing capacity that dynamically changes in accordance with the change of the element, and a processing result by the processing apparatus. Retiming or slewing retiming circuits are connected to arithmetic mechanisms that are cascaded alternately, and each retiming circuit is to retime or slew processing results from the processor connected in the previous stage. This method is executed by an apparatus that supplies the control data. The control for each retiming means is performed so that a predetermined number of retiming circuits perform retiming of processing results and the remaining retiming circuits slew processing results according to the performance of the element. Generate data.
本発明の半導体装置は、 性能を変化させることが可能な素子により構成され て、 前記素子の変化に応じて処理能力が動的に変化する処理器と、 処理器によ る処理結果をリタイミング又はスルーするリタイミング回路とが、 交互にカス ケード接続されて成る演算機構に接続されており、 各リタイミング回路に、 前 段に接続さ lた処理器による処理結果をリタイミング又はスルーさせるための 制御データを供給するための半導体装置であって、 前記素子の性能に応じて、 所定の個数のリタイミング回路が処理結果のリタイミングを行うとともに残り のリタイミング回路が処理結果をスルーするように、 リタイミング手段毎の前 記制御データを生成する手段を備える。  The semiconductor device of the present invention is configured by an element capable of changing performance, and a processing unit whose processing capability dynamically changes according to the change of the element, and a processing result by the processing unit is retimed. In addition, each retiming circuit is connected to an arithmetic mechanism that is cascade-connected with each other, and each retiming circuit re-times or slews the processing result of the processor connected in the previous stage. In accordance with the performance of the element, a predetermined number of retiming circuits perform retiming of processing results, and the remaining retiming circuits pass through the processing results. And means for generating the control data for each retiming means.
本発明のコンピュータプログラムは、 性能を変化させることが可能な素子に より構成されて、 前記素子の変化に応じて処理能力が動的に変化する処理器と、 処理器による処理結果をリタイミング又はスルーするリタイミング回路とが、 交互にカスケード接続されて成る演算機構に接続されており、 前記リタイミン グ回路に前段に接続された処理器による処理結果をリタイミング又はスルーさ せるための制御データを供給するコンピュータに、 前記素子の性能に応じて、 所定の個数のリタイミング回路が処理結果のリタイミングを行うとともに残り のリタイミング回路が処理結果をスルーするように、 リタイミング手段毎の前 記制御デ一夕を生成する処理を実行させるようにするための、 コンピュータプ ログラムである。 図面の簡単な説明 The computer program of the present invention is composed of an element capable of changing performance, and a processor whose processing capability dynamically changes in accordance with the change of the element, and a processing result by the processor is retimed or And a retiming circuit that passes through is connected to an arithmetic mechanism that is cascade-connected alternately, Depending on the performance of the element, a predetermined number of retiming circuits reprocess the processing results to a computer that supplies control data for retiming or slewing the processing results of the processing unit connected to the previous stage to the processing circuit This is a computer program for executing the processing for generating the control data for each retiming means so that the timing is executed and the remaining retiming circuit passes through the processing result. Brief Description of Drawings
図 1は、 本発明を適用した演算パイプラインの構成例を示す図である。  FIG. 1 is a diagram showing a configuration example of an arithmetic pipeline to which the present invention is applied.
図 2は、 SALCを 8段カスケ一ド接続した場合の S AL Pを示す図である。 図 3は、 S A L Cを 4段カスケ一ド接続した場合の S A L Pを示す図である。 図 4は、 SAL Cの例示図である。  Fig. 2 is a diagram showing SALP when SALC is connected in 8-stage cascade. FIG. 3 is a diagram showing S A L P when S A L C is connected in a four-stage cascade connection. Fig. 4 is an example of SAL C.
図 5は、 パイプラインコントローラの例示図である。  FIG. 5 is an illustration of a pipeline controller.
図 6は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 6 is a diagram for explaining processing using the arithmetic pipeline.
図 7は、 SALCによる処理を説明するための図である。  FIG. 7 is a diagram for explaining processing by SALC.
図 8は、 SALCによる処理を説明するための図である。  FIG. 8 is a diagram for explaining processing by SALC.
図 9は、 SALCによる処理を説明するための図である。  FIG. 9 is a diagram for explaining processing by SALC.
図 10は、 SALCによる処理を説明するための図である。  FIG. 10 is a diagram for explaining processing by SALC.
図 11は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 11 is a diagram for explaining processing using the arithmetic pipeline.
図 12は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 12 is a diagram for explaining processing using the arithmetic pipeline.
図 13は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 13 is a diagram for explaining processing using the arithmetic pipeline.
図 14は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 14 is a diagram for explaining processing using the arithmetic pipeline.
図 15は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 15 is a diagram for explaining processing using the arithmetic pipeline.
図 16は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 16 is a diagram for explaining processing using the arithmetic pipeline.
図 17は、 演算パイプラインを用いた処理を説明するための図である。  FIG. 17 is a diagram for explaining processing using the arithmetic pipeline.
図 18は、 演算パイプラインを用いた処理を説明するための図である。 発明を実施するための最良の形態  FIG. 18 is a diagram for explaining processing using the arithmetic pipeline. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 本発明の実施形態を詳細に説明する。 この実施形態では、 演算機構の一例となるシリアル演算パイプラインを、 レ ィテンシの変動に強いアーキテクチャにより構成して、 動的にレイテンシの制 御を行うようにする。 さらに基板バイァス技術により動的にスレツショルド電 圧を制御する。 動作周波数を変えずにレイテンシとスレツショルド電圧を動的 に変化させることで、 性能の劣化を最小限に抑えつつ消費電力をコントロール することが可能となる。 Hereinafter, embodiments of the present invention will be described in detail. In this embodiment, a serial operation pipeline, which is an example of an operation mechanism, is configured with an architecture that is resistant to latency fluctuations, and the latency is dynamically controlled. In addition, the threshold voltage is dynamically controlled by substrate bias technology. By dynamically changing the latency and threshold voltage without changing the operating frequency, power consumption can be controlled while minimizing performance degradation.
シリアル演算パイプラインのレイテンシは、 シリアル演算パイプライン内で カスケ一ド接続される演算器の出力について、 リタイミングを行う回数によつ て決まる。 例えば、 カスケード接続された演算器でリタイミングを 1回行うと、 レイテンシは 2になる。 リタイミングを 2回行うとレイテンシは 3になる。 本 発明では、 シリアル演算パイプライン内でリタイミングを行う回数を動的に変 化させることで、 レイテンシの変動を行うようにする。  The latency of the serial operation pipeline is determined by the number of times retiming is performed on the output of the cascade connected arithmetic units in the serial operation pipeline. For example, if retiming is performed once with cascaded computing units, the latency is 2. The latency is 3 if you retime twice. In the present invention, the latency is varied by dynamically changing the number of times retiming is performed in the serial operation pipeline.
図 1は、 本発明を適用した演算パイプライン 1の構成例を示した図である。 この演算パイプライン 1には、 複数のシリアル算術論理演算回路 (Serial ALCelK 以下 「SALC」 と称する) 3をカスケード接続してなるシリアル演 算パイプライン (Serial - ALPipeline, 以下、 「SALP」 と称する) 2が設 けられており、 SALP2には、 カスケード接続される SAL C 3の段数を調 整するための制御データを供給するパイプラインコントローラ 4が接続されて いる。 SALP 2には、 動作電圧供給装置 6から SAL C 3内の各素子の動作 電圧が供給されるとともに、 基板バイアス供給装置 7から SAL C 3内の各素 子の基板バイァスが供給される。  FIG. 1 is a diagram showing a configuration example of an arithmetic pipeline 1 to which the present invention is applied. This arithmetic pipeline 1 includes a serial arithmetic pipeline (Serial-ALPipeline, hereinafter referred to as “SALP”) in which a plurality of serial arithmetic logic operation circuits (Serial ALCelK, hereinafter referred to as “SALC”) 3 are cascade-connected. 2 is installed, and a pipeline controller 4 that supplies control data for adjusting the number of stages of SAL C 3 connected in cascade is connected to SALP2. The SALP 2 is supplied with the operating voltage of each element in the SAL C 3 from the operating voltage supply device 6 and is supplied with the substrate bias of each element in the SAL C 3 from the substrate bias supply device 7.
図 1では、 説明を簡単にするために S AL P 2を 1つ設けた構成とするが、 SALP 2は、 複数備えられていてもかまわない。 演算パイプライン 1が S A LP 2を複数備える場合には、 各 SAL P 2に対してパイプラインコントロー ラ 4から制御データが供給され、 動作電圧供給装置 6から各 SAL P 2に動作 電圧が供給され、 基板バイァス供給装置 7から SALP2に基板バイァスが供 給される。  In FIG. 1, a single SAL P 2 is provided for ease of explanation, but a plurality of SALP 2 may be provided. When the arithmetic pipeline 1 includes a plurality of SA LPs 2, control data is supplied from the pipeline controller 4 to each SAL P 2, and operating voltage is supplied from the operating voltage supply device 6 to each SAL P 2. The substrate bias is supplied to the SALP 2 from the substrate bias supply device 7.
SALP 2は、 様々な多ビット演算命令を単純なシリアル命令の組み合わせ で実現するものである。 SALP2は、 カスケード接続された複数の SAL C 3と、 各 SALC 3の後段に設けられて SALC 3からの出力データをラッチ (latch) してリタイミングするためのリタイミング回路 5を備えている。 SA L C 3とリタイミング回路 5とは、 交互にカスケ一ド接続される。 SALP 2 implements various multi-bit arithmetic instructions by combining simple serial instructions. SALP2 has multiple SAL Cs connected in cascade 3 and a retiming circuit 5 provided after the SALC 3 for latching and retiming output data from the SALC 3. The SA LC 3 and the retiming circuit 5 are cascade-connected alternately.
図 1に示す S A L P 2は、 9段カスケ一ド接続可能な 9個の SALC3を備 え、 各 S AL C 3の後段にリタイミング回路 5が設けられている。  SALP 2 shown in FIG. 1 has nine SALCs 3 that can be connected to a nine-stage cascade, and a retiming circuit 5 is provided after each S ALC 3.
リタイミング回路 5は、 パイプラインコントローラ 4から供給される制御デ 一夕により、 SALC 3からの出力データをラッチしてリタイミングするか、 或いはスルーするかが決められるように構成されている。 リタイミング回路 5 は、 SALC 3の出力データのリタイミングを行う場合、 SALC 3の出力デ 一夕をラッチして、 次の動作タイミングで、 ラッチした出力データを出力する。  The retiming circuit 5 is configured to determine whether the output data from the SALC 3 is latched and retimed or through according to the control data supplied from the pipeline controller 4. When retiming the output data of SALC 3, the retiming circuit 5 latches the output data of SALC 3 and outputs the latched output data at the next operation timing.
SALC 3の出力データをスルーする場合は、 SALC 3の出力データをラッ チせずにそのまま出力することになるので、 リタイミング回路 5は単なる配線 と同じになり、 出力デ一夕の入力から出力までを同じ動作タイミングで行う。 このようなリタイミング回路 5は、 ラッチ回路と同様の機能を実現できる、 例 えば、 FF (Flip-flop) を用いて構成することができる。 FFを SALC3の 出力端子の数と同数用いることで構成される。 When SALC 3 output data is passed through, SALC 3 output data is output as it is without being latched. To the same operation timing. Such a retiming circuit 5 can realize the same function as the latch circuit, for example, can be configured using FF (Flip-flop). It is configured by using the same number of FFs as the number of SALC3 output terminals.
リタイミング回路 5がすべてスルーの状態にある場合、 この SAL P 2は、 SALC 3が 9段カスケ一ド接続されて構成されることになる。 この場合、 1 段目の SALC 3にデータが入力されると、 9段目の SALC 3からデータが 出力されるので、 レイテンシは 「1」 になる。 このようにリタイミングを行う リタイミング回路 5の個数が 「0」 の場合は、 レイテンシが 「1」 になる。 データ入力側から 4段目と 5段目の SALC3の間に設けられたリタイミン グ回路 5のみがリタイミングの状態にあるときは、 この SAL P 2は、 4段力 スケ一ド接続された SALC 3と 5段カスケード接続された SALC 3とによ り構成されることになる。 1段目の SALC 3にデータが入力されると、 4段 目の SALC 3からデータが出力され、 この出力されたデータはリタイミング 回路 5によりラッチされる。 次の動作タイミングでリタイミング回路 5から 5 段目の SALC 3にデータが入力されると、 9段目の SAL C 3からデータが 出力される。 このように 1段目の SALC 3へのデータの入力から 9段目の S ALC3からのデータの出力まで 2つの動作タイミングが必要になるために、 レイテンシは 「2」 になる。 リタイミングを行うリタイミング回路 5の個数が 「1」 の場合は、 レイテンシが 「2」 になる。 When all the retiming circuits 5 are in the through state, the SALP 2 is configured by connecting the 9 stages of SALC 3 in cascade. In this case, when data is input to SALC 3 at the 1st stage, the data is output from SALC 3 at the 9th stage, so the latency is “1”. When the number of retiming circuits 5 that perform retiming in this way is “0”, the latency is “1”. When only the retiming circuit 5 provided between the 4th stage and the 5th stage SALC3 from the data input side is in the retiming state, this SAL P 2 is connected to the SALC with 4 stage power scale connection. It consists of SALC 3 connected in cascade with 3 and 5 stages. When data is input to the first-stage SALC 3, the data is output from the fourth-stage SALC 3, and the output data is latched by the retiming circuit 5. When data is input from the retiming circuit 5 to the fifth stage SALC 3 at the next operation timing, the data is output from the ninth stage SAL C 3. In this way, from the input of data to the first stage SALC 3, the ninth stage S The latency is “2” because two operation timings are required until data is output from ALC3. When the number of retiming circuits 5 that perform retiming is “1”, the latency is “2”.
このように、 各 SALC 3の間にリタイミング回路 5を設けて、 どのリ夕ィ ミング回路 5に出力デ一夕をリタイミングさせるかを決めることにより、 カス ケード接続される SAL C 3の段数を調節して、 レイテンシを自在に制御する ことが可能となる。  In this way, by providing the retiming circuit 5 between each SALC 3, and determining which retiming circuit 5 is to retime the output data, the number of cascaded SAL C 3 stages By adjusting, the latency can be controlled freely.
SAL C 3の段数を多くしてリタイミングを行うリタイミング回路 5の間隔 を長く (レイテンシを短く) すれば、 クリティカルパスが伸びるために S A L C 3に用いる素子には高性能のものが必要となる。 逆に、 SALC3の段数を 少なくしてリタイミングを行うリタイミング回路 5の間隔を短く (レイテンシ を長く) すれば、 SAL C 3に用いる素子は低性能のものですむ。 低性能の素 子を用いれば消費電力を抑えることが可能となる。  If the interval of the retiming circuit 5 that performs retiming by increasing the number of stages of SAL C 3 is increased (the latency is shortened), the critical path will be extended, and the elements used for SALC 3 will need high performance. . Conversely, if the interval of the retiming circuit 5 that performs retiming by reducing the number of stages of SALC3 is shortened (the latency is increased), the elements used for SAL C 3 need only have low performance. Power consumption can be reduced by using low-performance elements.
この実施形態では、 S A L C 3の性能を、 動作電圧及び/又は基板バイァス を変動させて素子の性能を変動させることでることで変化させる。  In this embodiment, the performance of S A L C 3 is varied by varying the performance of the device by varying the operating voltage and / or substrate bias.
動作電圧供給装置 6は、 S AL C 3を構成する素子に動作電圧を供給する装 置である。 供給する動作電圧値は可変であり、 動作電圧供給装置 6の外部から 操作することができるようになつている。 動作電圧値の操作は人為的に行って もよいが、 例えば、 S AL P 2で処理する内容に応じて適切な素子性能が得ら れるように、 図外の制御装置により操作するようにしてもよい。  The operating voltage supply device 6 is a device that supplies an operating voltage to the elements constituting the S AL C 3. The supplied operating voltage value is variable, and can be operated from outside the operating voltage supply device 6. The operating voltage value may be manipulated artificially, but for example, it may be manipulated by a control device not shown in the figure so that appropriate element performance can be obtained according to the content processed by SAL P 2. Also good.
基板バイァス供給装置 7は、 S A L C 3を構成する素子に基板バイァスを供 給する装置である。 供給する基板バイアス値は可変であり、 基板バイアス供給 装置 6の外部から操作することができるようになつている。 基板バイアス値の 操作は、 動作電圧供給装置 6と同様に、 人為的に行ってもよく、 また例えば、 SALP 2で処理する内容に応じて適切な素子性能が得られるように、 図外の 制御装置により操作するようにしてもよい。  The substrate bias supply device 7 is a device that supplies substrate bias to the elements constituting the S A L C 3. The substrate bias value to be supplied is variable and can be operated from the outside of the substrate bias supply device 6. The operation of the substrate bias value may be performed artificially as with the operating voltage supply device 6. For example, control outside the figure is performed so that appropriate element performance can be obtained according to the content processed by SALP 2. You may make it operate with an apparatus.
SALC 3に用いる素子は、 動作電圧供給装置 6により動作電圧値を変化さ せたり、 或いは基板バイァス供給装置 7により基板バイァス値を変化させるこ とで、 その性能を変化させることができる。 順方向或いは逆方向に基板バイァ スを印加したり、 基板バイアス値を変化させることで、 SALC3に用いる素 子のスレツショルド電圧や、 リーク電流量などを変化させ、 素子の性能を変化 させる。 The performance of the element used for the SALC 3 can be changed by changing the operating voltage value with the operating voltage supply device 6 or changing the substrate bias value with the substrate bias supply device 7. Board via in forward or reverse direction By changing the bias voltage or changing the substrate bias value, the threshold voltage of the element used for SALC3, the amount of leakage current, etc. are changed, thereby changing the device performance.
逆方向に基板バイアスを印加すると、 スレツショルド電圧を上げ、 リーク電 流を減少させることができる。 しかし、 ゲートのスイッチング性能が低下する。 そのために、 カスケード接続する SAL C 3の段数を減らして、 同一クロック 周波数でも動作可能になるようにする。  Applying a substrate bias in the reverse direction can increase the threshold voltage and reduce the leakage current. However, the gate switching performance is degraded. Therefore, reduce the number of cascaded SAL C 3 stages so that they can be operated at the same clock frequency.
順方向に基板バイァスを印加すると、 スレツショルド電圧が下がり、 性能を 向上させることができる。 そのために、 カスケード接続する SAL C 3の段数 を増やすことができる。 しかし、 順方向への基板バイアスの印加は、 基板バイ ァス値を大きくし過ぎるとラッチァップが起きてしまうため、 ラッチアップが 発生しない範囲に基板バイアス値をとどめる必要がある。  Applying a substrate bias in the forward direction lowers the threshold voltage and improves performance. For this reason, the number of cascaded SAL C 3 stages can be increased. However, when the substrate bias is applied in the forward direction, if the substrate bias value is increased too much, latch-up occurs. Therefore, it is necessary to keep the substrate bias value within a range where latch-up does not occur.
図 2、 図 3は、 それぞれ S A L C 3を 8段カスケ一ド接続した場合と、 4段 カスケ一ドした場合と、 を表す図である。 図 2では、 SALC3が 8段毎のリ タイミング回路 5がリタイミングの状態にある。 図 3では、 SALC3が 4段 毎のリタイミング回路 5がリタイミングの状態にある。 他のリタイミング回路 5は、 スルーの状態にある。 図 2の方が図 3よりも SAL C 3がカスケード接 続される段数が多く、 リタイミングの回数が少なくなるので、 レイテンシが短 くなる。 また、 図 2の方が図 3よりもリタイミングの間隔が長いので、 図 2の SAL C 3に用いられる素子の方が、 図 3の SAL C 3に用いられる素子より も高性能である。  FIGS. 2 and 3 are diagrams respectively showing the case where S ALC 3 is connected in 8-stage cascade and the case where 4-stage cascade is used. In Fig. 2, SALC3 is in retiming circuit 5 for every 8 stages. In Fig. 3, SALC3 is in the retiming state of retiming circuit 5 every four stages. The other retiming circuit 5 is in the through state. In Fig. 2, the number of stages where SAL C 3 is cascaded is larger than in Fig. 3, and the number of retiming times is reduced, resulting in shorter latency. 2 has a longer retiming interval than FIG. 3, so the element used in SAL C 3 in FIG. 2 has higher performance than the element used in SAL C 3 in FIG.
SAL C 3の構成例を図 4に示す。 図 4からわかるように、 この実施形態に よる SAL C 3は、 3系統のデータ入力端 Dli、 D2i、 D3i 及び 3系統のデータ 出力端 Dlo、 D2o、 D3o を有し、 前段 (図の左側) から後段 (図の右側) へ 3系 統のデータを出力するための順方向ラインが形成されている。 すべてのライン が順方向に接続されているために、 すべての SAL P 3間でリタイミングを行 う必要がなくなり、 1サイクルで処理できるだけの数の SAL P 3を挿入する ことが可能となる。 以後の説明では、 データ出力端 Dloから出力されるライン 上のデータを 「出力データ」、 データ出力端 D2oから出力されるライン上のデ一 夕を 「参照データ」、 データ出力端 D3oから出力されるライン上のデータを 「ィ ネーブルデ一夕」 とする。 Figure 4 shows an example of SAL C 3 configuration. As can be seen from Fig. 4, SAL C 3 according to this embodiment has three data input terminals Dli, D2i, D3i and three data output terminals Dlo, D2o, D3o. A forward line is formed to output three lines of data from to the next stage (right side of the figure). Since all lines are connected in the forward direction, there is no need to retiming between all SAL P 3, and as many SAL P 3 as can be processed in one cycle can be inserted. In the following explanation, the data on the line output from the data output terminal Dlo is referred to as “output data”, and the data on the line output from the data output terminal D2o The evening is referred to as “reference data”, and the data on the line output from the data output terminal D3o is referred to as “enable evening”.
S A L C 3は、 また、 命令入力端 CONから入力される命令の内容をデコード し、 デコード結果に応じた処理を実行するとともに、 実行結果を出力するライ ンの選定等を行うためのデコーダ 3 1を有する。 処理の例としては、 例えば、 四則演算、 論理演算のような演算処理のほか、 パス制御、 ラッチ制御、 条件付 命令等の制御処理が挙げられる。 他の複数の S AL C 3のデコーダとの協働に よって、 マクロ命令の実行を行うことができる。 命令は、 図外の命令入力装置 などから入力される。 この命令入力装置は、 S A L P 2で実行される処理に応 じて、 各 S A L C 3に所定の命令を入力するものである。  The SALC 3 also decodes the contents of the instruction input from the instruction input terminal CON, executes a process according to the decoded result, and selects a decoder 31 for selecting a line for outputting the execution result. Have. Examples of processing include control processing such as path control, latch control, and conditional instruction in addition to arithmetic processing such as four arithmetic operations and logical operations. By cooperating with other SAL C 3 decoders, macro instructions can be executed. The command is input from a command input device not shown. This command input device inputs a predetermined command to each S A L C 3 according to the processing executed in S A L P 2.
デコーダ 3 1には、 上記の演算等を容易にするための種々のラッチ回路、 す なわち、 シフトラッチ回路 3 3と、 イネ一ブルラッチ回路 3 4と、 キヤリーラ ツチ回路 3 2とが接続されている。 シフトラッチ回路 3 3は、 出力デ一夕のラ インよりも参照データのラインが所定時間だけ遅れるようにするために、 参照 データをラッチし、 例えば演算の際に次の桁でこれを出力するように動作する。 キャリーラッチ回路 3 2は、 演算結果のキャリーを次の桁の演算時までラッチ する。 イネ一ブルラッチ回路 3 4は、 前段の S A L C 3から入力されるイネ一 ブルデータをラッチする。 イネ一ブルデー夕はデコーダ 3 1で実行される処理 についてイネ一ブル、 デイスエーブルを指示するためのデ一夕である。  The decoder 31 is connected to various latch circuits for facilitating the above operations, that is, a shift latch circuit 33, an enable latch circuit 34, and a carrier latch circuit 32. Yes. The shift latch circuit 33 latches the reference data so that the reference data line is delayed by a predetermined time from the output line, and outputs this in the next digit, for example, in the operation. To work. The carry latch circuit 32 latches the carry of the calculation result until the next digit is calculated. The enable latch circuit 34 latches the enable data input from the previous stage S A L C 3. Enable Day is a data for instructing Enable / Disable for the processing executed by the decoder 31.
図 1のパイプラインコントローラ 4には、 S A L P 2のリタイミングの間隔 を決めるためのレイテンシデータ、 及びクロックが入力される。 レイテンシデ 一夕は、 S A L P 2による処理の内容、 S A L C 3に用いる素子の性能などに より決まり、 例えば基板バイァス供給装置 7、 動作電圧供給装置 6から供給さ れる基板バイアス値、 動作電圧値等により決まる。 パイプラインコントローラ 4は、 これらのデータにより、 リタイミング回路 5と同数の制御データを生成 する。 各制御データは、 対応するリタイミング回路 5に供給される。  The pipeline controller 4 in FIG. 1 receives latency data and a clock for determining the retiming interval of S A L P 2. Latency overnight depends on the contents of the processing by SALP 2 and the performance of the elements used in SALC 3.For example, it depends on the substrate bias value supplied from the substrate bias supply device 7 and the operation voltage supply device 6, the operation voltage value, etc. Determined. The pipeline controller 4 generates the same number of control data as the retiming circuit 5 based on these data. Each control data is supplied to the corresponding retiming circuit 5.
図 5は、 このようなパイプラインコントローラ 4の例示図である。 このパイ プラインコントローラ 4は、 レイテンシレジスタ 4 1と、 リタイミング回路 5 と同数の制御デ一夕生成部 4 2とを備えている。 この実施形態では、 パイプラ インコントローラ 4が半導体装置などのハードウエアにより構成された例を示 すが、 所定の C P Uに本発明のコンピュータプログラムを実行させてソフトゥ エア的に構成するようにしてもよい。 FIG. 5 is an exemplary diagram of such a pipeline controller 4. The pipeline controller 4 includes a latency register 41 and the same number of control data generators 42 as the retiming circuit 5. In this embodiment, the pipeline Although an example in which the in-controller 4 is configured by hardware such as a semiconductor device is shown, it may be configured in software by causing a predetermined CPU to execute the computer program of the present invention.
レイテンシレジスタ 4 1は、 例えば、 レイテンシデータから、 カスケード接 続する S A L C 3の段数を表す段数値を導出する。 レイテンシレジスタ 4 1は、 導出した段数値を制御データ生成部 4 2に送る。 なお、 レイテンシデータをそ のまま段数値として用いるようにしてもよい。  For example, the latency register 41 derives a stage value representing the number of stages of S A L C 3 connected in cascade from the latency data. The latency register 4 1 sends the derived stage value to the control data generation unit 4 2. Note that the latency data may be used as a step value as it is.
制御データ生成部 4 2は、 減算器 4 3、 セレクタ 4 4、 判別器 4 5、 及び O R回路 4 6を備えており、 クロック及びレイテンシレジス夕 4 1から送られる 段数値から、 制御データを生成する。  The control data generation unit 4 2 includes a subtractor 4 3, a selector 4 4, a discriminator 4 5, and an OR circuit 4 6, and generates control data from the stage values sent from the clock and latency register 4 1. To do.
減算器 4 3は、 入力された値を 1減算するように構成されてる。 1段目の制 御データ生成部 4 2の減算器 4 3には、 レイテンシレジスタ 4 1から段数値が 入力される。 2段目以降の制御データ生成部 4 2の減算器 4 3には、 前段の制 御データ生成部 4 2のセレクタ 4 4の出力が入力される。  The subtractor 4 3 is configured to subtract 1 from the input value. The step value is input from the latency register 4 1 to the subtracter 4 3 of the control data generation unit 42 in the first stage. The output of the selector 4 4 of the control data generation unit 42 in the previous stage is input to the subtracter 4 3 of the control data generation unit 42 in the second and subsequent stages.
判別器 4 4は、 減算器 4 3による減算結果が 「0」 か否かを判別して、 判別 結果をセレクタ 4 5及び O R回路 4 6に入力するように構成されている。  The discriminator 44 is configured to discriminate whether or not the subtraction result by the subtractor 43 is “0” and input the discrimination result to the selector 45 and the OR circuit 46.
セレクタ 4 5は、 減算器 4 3による減算結果とレイテンシレジスタ 4 1から 送られる段数値とのいずれか一方を、 判別器 4 4からの判別結果に応じて出力 するように構成されている。 セレクタ 4 5は、 判別器 4 4からの判別結果が、 減算器 4 3による減算結果が 「0」 であることを示している場合に、 レイテン シレジス夕 4 1から送られる段数値を出力し、 「0」 でないことを示している場 合に、 減算器 4 3による減算結果を出力するようになっている。  The selector 45 is configured to output either the subtraction result from the subtractor 43 or the stage value sent from the latency register 41 according to the determination result from the discriminator 44. The selector 4 5 outputs the stage value sent from the latency register 4 1 when the discrimination result from the discriminator 4 4 indicates that the subtraction result by the subtractor 4 3 is “0”. When it indicates that it is not “0”, the result of subtraction by the subtractor 4 3 is output.
0 R回路 4 6は、 クロックと判別器 4 4からの判別結果とを 0 R演算して、 その出力を制御データとしてリタイミング回路 5に入力するように構成されて いる。 O R回路 4 6は、 判別器 4 4からの判別結果が、 減算器 4 3による減算 結果が 「0」 であることを示している場合に、 交番データとなる制御データを 出力し、 「0」 でないことを示している場合に、 一定値の制御データを出力する ようになつている。  The 0R circuit 46 is configured to perform 0R operation on the clock and the discrimination result from the discriminator 44 and to input the output to the retiming circuit 5 as control data. The OR circuit 4 6 outputs control data as alternating data when the discrimination result from the discriminator 4 4 indicates that the subtraction result by the subtracter 4 3 is “0”. When it indicates that it is not, a constant value of control data is output.
例えば、 判別器 4 4が、 減算器 4 3による減算結果が 「0」 であれば判別結 果 「1」 を出力し、 「0」 でなければ判別結果 「0」 を出力する場合には、 セレ クタ 45及び OR回路 46は、 次のように動作する。 For example, if the discriminator 4 4 is “0” as the result of subtraction by the subtractor 4 3, If “1” is output and the determination result “0” is output unless it is “0”, the selector 45 and the OR circuit 46 operate as follows.
セレクタ 45は、 判別器 44からの判別結果が 「1」 のときには、 レイテン シレジスタ 41から出力される段数値を出力し、 「0」 のときには、 減算器 43 による減算結果を出力する。  The selector 45 outputs the stage value output from the latency register 41 when the determination result from the determiner 44 is “1”, and outputs the subtraction result from the subtractor 43 when it is “0”.
OR回路 46は、 判別器 44からの判別結果を反転して受け取る。 つまり、 OR回路 46には、 判別結果が 「0」 のときは 「1」 が、 「1」 のときは 「0」 が入力される。 判別器 44からの判別結果が 「1」 のときには、 反転して 「0」 が入力され、 クロックの 「0」、 「1」 が制御データとしてそのまま出力される。 判別器 44からの判別結果が 「0」 のときには、 反転して 「1」 が入力され、 制御データとして一定値 「1」 が出力される。  The OR circuit 46 inverts and receives the discrimination result from the discriminator 44. In other words, “1” is input to the OR circuit 46 when the determination result is “0”, and “0” is input when the determination result is “1”. When the discrimination result from the discriminator 44 is “1”, “0” is inverted and “0” and “1” of the clock are output as control data as they are. When the discrimination result from the discriminator 44 is “0”, it is inverted and “1” is inputted, and a constant value “1” is outputted as control data.
このような制御データ生成部 42により、 段数値に応じた段数の S AL C 3 がカスケ一ド接続されるような制御デー夕が、 パイプラインコントローラ 4か ら SALP 2に供給される。 例えば、 段数値が 「4」 の場合には、 3段目まで の制御デ一夕生成部 42から出力される制御データが一定値であり、 4段目の 制御デー夕生成部 42から出力される制御デ一夕が交番デー夕になる。  By such a control data generation unit 42, control data such that SAL C 3 having the number of stages corresponding to the stage value is cascade-connected is supplied from the pipeline controller 4 to the SALP 2. For example, when the step value is “4”, the control data output from the control data generator 42 up to the third level is a constant value, and is output from the control data generator 42 of the fourth level. The control day will be a police box evening.
SALP2のリタイミング回路 5は、 制御データが一定値 (例えば 「 1」) の ときはスルーの状態になり、 制御データが交番デー夕のときはリタイミングの 状態になる。 段数値が 「4」 の場合は、 4個毎のリタイミング回路 5に入力さ れる制御データが交番データになり、 他は一定値の制御データになる。  The SALP2 retiming circuit 5 is in the through state when the control data is a constant value (for example, “1”), and is in the retiming state when the control data is alternating data. When the stage value is “4”, the control data input to every four retiming circuits 5 is alternating data, and the others are constant control data.
次に、 このような演算パイプライン 1を用いた処理を説明する。 図 6は、 使 用する演算パイプライン 1の SALP 2を示している。 この SALP 2は、 S ALC 3が 6段であり、 4段目と 5段目の SALC3の間のリタイミング回路 5がリタイミングの状態にあり、 他のリタイミング回路 5はスルーの状態にあ る。 スルーの状態にあるリタイミング回路 5は単なる配線と同等なので、 図示 を省略している。 また、 各 S ALC 3を区別するために、 初段の SALCを S ALC3Aとし、 2段目以降をそれぞれ S ALC 3 B、 SALC3C、 SAL C3D、 SALC 3 E, SALC3Fとする。  Next, processing using such an arithmetic pipeline 1 will be described. Figure 6 shows SALP 2 for the compute pipeline 1 used. In SALP 2, S ALC 3 has 6 stages, the retiming circuit 5 between the 4th stage and the 5th stage SALC 3 is in the retiming state, and the other retiming circuit 5 is in the through state. The Since the retiming circuit 5 in the through state is equivalent to a simple wiring, the illustration is omitted. To distinguish each S ALC 3, the first SALC is S ALC3A, and the second and subsequent stages are S ALC 3 B, SALC 3C, SAL C3D, SALC 3 E, and SALC 3F.
SALC 3は、 命令入力端 CONから入力される命令により、 以下のような処 理を行う。 SALC 3 uses the command input from the command input terminal CON as follows. Do it.
i)デコーダ 3 1は、 データ入力端子 Dl i に入力されるデータ Aとデータ入力 端子 D2iに入力される参照デ一夕 Bとを加算し、その結果をデータ出力端子 Dlo に送る。 データ入力端子 D3i に入力されるイネ一ブルデ一夕 Cは、 データ出力 端子 D3o に送られるとともに、 ィネーブルラッチ回路 3 4にラッチされる。 デ コーダ 3 1は、 データ出力端子 D3o に送られたィネーブルデータ Cに応じて、 上記のような加算処理を行う。 シフトラッチ回路 3 3にラッチされている参照 データ B 1はデータ出力端子 D2oに送られ、 データ入力端子 D2i に入力された 新たな参照データ Bが、 デコーダ 3 1を介してシフトラッチ回路 3 3に送られ る。 シフトラッチ回路 3 3は、 送られてきた新たな参照データ Bをラッチする (図 7 )。  i) The decoder 31 adds the data A inputted to the data input terminal Dl i and the reference data B inputted to the data input terminal D2i, and sends the result to the data output terminal Dlo. The enable signal C input to the data input terminal D3i is sent to the data output terminal D3o and is latched by the enable latch circuit 34. The decoder 31 performs the above addition process according to the enable data C sent to the data output terminal D3o. The reference data B 1 latched in the shift latch circuit 3 3 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2i is transferred to the shift latch circuit 3 3 via the decoder 31. Sent. The shift latch circuit 33 latches the new reference data B that has been sent (FIG. 7).
i i)デコーダ 3 1は、 データ入力端子 Dl iに入力されるデ一夕 Aとデ一夕入力 端子 D2iに入力される参照データ Bとを加算し、その結果をデータ出力端子 Dlo に送る。 データ入力端子 D3i に入力されるィネーブルデ一夕 Cは、 データ出力 端子 D3o に送られる。 デコーダ 3 1は、 ィネーブルラッチ回路 3 4にラッチさ れたィネーブルデータ C 1に応じて、 上記のような加算処理を行う。 シフトラ ツチ回路 3 3にラッチされている参照データ B 1はデータ出力端子 D2o に送ら れ、 データ入力端子 D2i に入力された新たな参照データ Bが、 コーダ 3 1を 介してシフトラッチ回路 3 3に送られる。 シフトラッチ回路 3 3は、 送られて きた新たな参照デ一夕 Bをラッチする (図 8 )。  i i) The decoder 31 adds the data A input to the data input terminal Dli and the reference data B input to the data input terminal D2i, and sends the result to the data output terminal Dlo. The enable signal C input to the data input terminal D3i is sent to the data output terminal D3o. The decoder 31 performs the above addition process according to the enable data C 1 latched in the enable latch circuit 34. The reference data B 1 latched in the shift latch circuit 33 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2i is transferred to the shift latch circuit 33 via the coder 31. Sent. The shift latch circuit 33 latches the new reference data B that has been sent (FIG. 8).
i i i)デコーダ 3 1は、 データ入力端子 Dl i に入力されるデータ Aをそのまま デ一タ出力端子 Dloに送る。 データ入力端子 D3i に入力されるィネーブルデ一 夕 Cは、 データ出力端子 D3o に送られる。 デコーダ 3 1は、 ィネーブルラッチ 回路 3 4にラッチされたィネーブルデータ C 1に応じて、 上記のようにデータ 入力端子 Dl i に入力されるデータ Aをデータ出力端子 Dloに送る。 シフトラッ チ回路 3 3にラッチされている参照データ B 1はデータ出力端子 D2oに送られ、 データ入力端子 D2 i に入力された新たな参照データ Bが、 デコーダ 3 1を介し てシフトラッチ回路 3 3に送られる。 シフトラッチ回路 3 3は、 送られてきた 新たな参照データ Bをラッチする (図 9 )。 iv)デコーダ 31は、 データ入力端子 Dliに入力されるデータ Aをそのままデ 一夕出力端子 Dloに送る。 データ入力端子 D3i に入力されるィネーブルデータ Cは、 データ出力端子 D3o に送られるとともに、 イネ一ブルラッチ回路 34に ラッチされる。 デコーダ 31は、 データ出力端子 D3o に送られたィネーブルデ 一夕 Cに応じて、 上記のようにデータ入力端子 Dli に入力されるデータ Aをデ 一夕出力端子 Dlo に送る。 シフ卜ラッチ回路 33にラッチされている参照デー 夕 B 1はデータ出力端子 D2oに送られ、 データ入力端子 D2i に入力された新た な参照データ Bが、 デコーダ 31を介してシフトラッチ回路 33に送られる。 シフトラッチ回路 33は、 送られてきた新たな参照デー夕 Bをラッチする (図 10)。 iii) The decoder 31 sends the data A input to the data input terminal Dl i as it is to the data output terminal Dlo. Enable device C input to data input terminal D3i is sent to data output terminal D3o. In accordance with the enable data C 1 latched in the enable latch circuit 34, the decoder 31 sends the data A input to the data input terminal Dli as described above to the data output terminal Dlo. The reference data B 1 latched in the shift latch circuit 3 3 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2 i is transferred to the shift latch circuit 3 3 via the decoder 31. Sent to. The shift latch circuit 33 latches the new reference data B that has been sent (FIG. 9). iv) The decoder 31 sends the data A input to the data input terminal Dli as it is to the output terminal Dlo. The enable data C input to the data input terminal D3i is sent to the data output terminal D3o and is latched by the enable latch circuit 34. The decoder 31 sends the data A input to the data input terminal Dli to the data output terminal Dlo as described above according to the enable signal C sent to the data output terminal D3o. The reference data B 1 latched in the shift latch circuit 33 is sent to the data output terminal D2o, and the new reference data B input to the data input terminal D2i is sent to the shift latch circuit 33 via the decoder 31. It is done. The shift latch circuit 33 latches the new reference data B that has been sent (FIG. 10).
以上の i)〜iv)の処理では、デコーダ 31がデータ出力端子 D3oまたはイネ一 ブルラッチ回路 34のイネ一ブルデータに応じて、 加算処理またはデータ入力 端子 Dli に入力されるデータをデータ出力端子 Dloに送る処理を行うことにな る。 以下の説明では、 ィネーブルデータが 「1」 のときにデコーダ 31が加算 処理を行い、 「0」 のときにデコーダがデータ入力端子 Dliに入力されるデータ をそのままデータ出力端子 Dloに送る処理を行うようにする。  In the processes i) to iv) described above, the decoder 31 adds the data input to the data output terminal Dli or the data input terminal Dlo according to the data output terminal D3o or the enable data of the enable latch circuit 34. Will be sent to. In the following explanation, when the enable data is “1”, the decoder 31 performs an addition process, and when it is “0”, the decoder sends the data input to the data input terminal Dli as it is to the data output terminal Dlo. To do.
図 11はデータ入力端子 Dli、 D2i、 D3i に入力されるデータを表している。 データ入力端子 Dliにはデータ 「100000」、 デ一タ入力端子 D2iには参照データ 「010000」、 データ入力端子 D3iにはィネーブルデータ 「110000」 が、 この順に 入力される。 これによ-り、 (2X 3 + 1) の演算を実行することができる。 各 S ALC 3 A〜Fは、命令入力端 C0Nから入力される命令により上記 i)〜iv)のい ずれかの処理を実行して、演算の解を最終段の SAL C 3のデータ出力端子 Dlo から出力する。  Figure 11 shows the data input to the data input terminals Dli, D2i, and D3i. Data “100000” is input to the data input terminal Dli, reference data “010000” is input to the data input terminal D2i, and enable data “110000” is input to the data input terminal D3i in this order. As a result, the operation (2X 3 + 1) can be executed. Each S ALC 3 A to F executes any of the above processes i) to iv) according to the instruction input from the instruction input terminal C0N, and the solution of the operation is the data output terminal of SAL C 3 at the final stage. Output from Dlo.
図 12は、 最初のサイクル (0サイクル) で最初のデータ (1,0,1) が初段の SAL C 3 Aに入力された状態を表している。 SALC3Aは、データ (1,0,1) が入力されると、 命令入力端 C0Nから入力される命令により i)の処理を実行す る。 S ALC 3 Aのデータ出力端子 Dlo、 D2o、 D3oには (1,0,1) が出力される。 SALC3Bは、 SALC3Aからデータ (1,0,1) が入力されると、 命令入力 端 C0Nから入力される命令により iii)の処理を実行する。 SALC3Bのデー 夕出力端子 Dlo、 D2o、 D3oには (1,0,1) が出力される。 3段目、 4段目の S A LC3 C、 Dは、 SALC 3 Bと同じ処理を実行する。 このサイクルでは、 リ タイミング回路 5以降にはデータが送られず、 初期状態のままである。 Figure 12 shows the state in which the first data (1,0,1) is input to the first SAL C 3 A in the first cycle (0 cycle). When data (1,0,1) is input, SALC3A executes the process i) according to the instruction input from the instruction input terminal C0N. (1,0,1) is output to the data output terminals Dlo, D2o, and D3o of S ALC 3 A. When data (1,0,1) is input from SALC3A, SALC3B executes the process of iii) according to the instruction input from instruction input terminal C0N. SALC3B Day (1,0,1) is output to the evening output terminals Dlo, D2o, and D3o. The third and fourth stage SA LC3 C and D perform the same processing as SALC 3 B. In this cycle, no data is sent after the retiming circuit 5, and the initial state remains unchanged.
図 13は、 1サイクル目で 2番目のデ一夕 (0,1,1) が初段の SALC 3 Aに 入力された状態を表している。 SALC 3 Aは、 データ (0,1,1) が入力される と、命令入力端 CONから入力される命令により ii)の処理を実行する。 SALC 3 Aのデータ出力端子 Dlo、 D2o、 D3oには (1,0,1) が出力される。 SALC 3 Bは、 SALC 3 Aからデ一タ (1,0,1) が入力されると、 命令入力端 CONから 入力される命令により i)の処理を実行する。 SALC 3 Bのデータ出力端子 Dlo、 D2o、 D3oには (1,0,1) が出力される。 SALC 3 Cは、 SALC3Bからデ一 夕 (1,0,1) が入力されると、 命令入力端 CONから入力される命令により iii) の処理を実行する。 SALC 3 Cのデータ出力端子 Dlo、 D2o、 D3oには(1,0,1) が出力される。 SALC 3Dは、 SALC 3 Cと同じ処理を実行する。  Figure 13 shows the state in which the second delay (0,1,1) is input to the first stage SALC 3 A in the first cycle. When data (0, 1, 1) is input, SALC 3 A executes the process ii) according to the instruction input from the instruction input terminal CON. (1,0,1) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A. When the data (1,0,1) is input from SALC 3 A, SALC 3 B executes the process i) according to the instruction input from the instruction input terminal CON. (1,0,1) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 B. SALC 3 C executes the process of iii) according to the command input from the command input terminal CON when the data (1, 0, 1) is input from SALC3B. (1, 0, 1) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 C. SALC 3D performs the same processing as SALC 3 C.
リタイミング回路 5には、 SALC 3Dからデータ (1,0,1) が供給される。 リタイミング回路 5は、 供給されたデータを、 パイプラインコントローラ 4か ら供給される制御データに応じて次段の SALC 3 Eに送る。 SALC 3 Eは、 リタイミング回路 5からデータ (1,0, 1) が入力されると、 命令入力端 C0Nから 入力される命令により iii)の処理を実行する。 SALC 3 Eのデ一夕出力端子 Dlo、 D2o、 D3oには (1,0,1) が出力される。 SALC 3 Fは、 SALC 3 Eと 同じ処理を実行する。 S ALC 3 Eのデータ出力端子 Dloからは 「1」 が出力 される。  The retiming circuit 5 is supplied with data (1,0,1) from SALC 3D. The retiming circuit 5 sends the supplied data to the SALC 3 E at the next stage according to the control data supplied from the pipeline controller 4. When data (1,0, 1) is input from the retiming circuit 5, the SALC 3 E executes the process of iii) according to the instruction input from the instruction input terminal C0N. (1,0,1) is output to the output terminals Dlo, D2o, and D3o of SALC 3 E. SALC 3 F performs the same processing as SALC 3 E. “1” is output from the data output terminal Dlo of S ALC 3 E.
図 14は、 2サイクル目で 3番目のデータ (0,0,0) が初段の SALC 3 Aに 入力された状態を表している。 SALC 3 Aは、 データ (0,0,0) が入力される と、命令入力端 C0Nから入力される命令により ii)の処理を実行する。 SALC 3 Aのデータ出力端子 Dlo、 D2o、 D3oには (0,1,0) が出力される。 SALC 3 Bは、 SALC 3 Aからデータ (0,1,0) が入力されると、 命令入力端 C0Nから 入力される命令により ii)の処理を実行する。 SALC 3 Bのデータ出力端子 Dlo, D2o、 D3oには (1,0,0) が出力される。 SALC 3 Cは、 SALC 3 B力 らデータ (1,0,0) が入力されると、 命令入力端 C0Nから入力される命令により iv)の処理を実行する。 S ALC 3 Cのデータ出力端子 Dlo、D2o、D3oには(1, 0, 0) が出力される。 SALC3Dは、 SALC 3 Cからデ一夕 (1,0,0) が入力され ると、 命令入力端 CONから入力される命令により iii)の処理を実行する。 SA LC 3Dのデータ出力端子 Dlo、 D2o、 D3oには (1,0,0) が出力される。 Figure 14 shows the state in which the third data (0, 0, 0) is input to the first stage SALC 3 A in the second cycle. When data (0,0,0) is input, SALC 3 A executes the process ii) according to the instruction input from the instruction input terminal C0N. (0,1,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A. When data (0,1,0) is input from SALC 3 A, SALC 3 B executes the process ii) according to the instruction input from the instruction input terminal C0N. (1,0,0) is output to the data output terminals Dlo, D2o and D3o of SALC 3 B. When SALC 3 C data (1,0,0) is input from SALC 3 B force, it is determined by the command input from command input terminal C0N. Perform step iv). (1, 0, 0) is output to the data output terminals Dlo, D2o, and D3o of S ALC 3 C. SALC3D executes the processing of iii) according to the command input from the command input terminal CON when the data (1,0,0) is input from SALC 3C. (1,0,0) is output to the data output terminals Dlo, D2o, and D3o of SA LC 3D.
リタイミング回路 5には、 前サイクルの S A L C 3 Dの出力がそのままラッ チされている。 この場合は、 (1,0,1) がラッチされる。 リタイミング回路 5の 後段の SALC 3 Eのデータ入力端子 Dli、 D2i、 D3i には、 リタイミング回路 5にラッチされた (1,0,1) が入力される。 SALC3Eは、 リタイミング回路 5からデ一夕 (1,0,1) が入力されると、 命令入力端 CONから入力される命令に より iii)の処理を実行する。 S ALC 3 Eのデ一夕出力端子 Dlo、 D2o、 D3oに は (1,0,1) が出力される。 SALC3Fは、 SAL C 3 Eからデ一タ (1,0,1) が入力されると、 命令入力端 CONから入力される命令により iii)の処理を実行 する。 SALC 3 Eのデータ出力端子 Dloからは 「1」 が出力される。  In the retiming circuit 5, the output of the SALC3D of the previous cycle is latched as it is. In this case, (1,0,1) is latched. (1,0,1) latched in the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC 3 E subsequent to the retiming circuit 5. SALC3E executes the processing of iii) according to the command input from the command input terminal CON when the data (1,0,1) is input from the retiming circuit 5. (1, 0, 1) is output to the output terminals Dlo, D2o, and D3o of S ALC 3 E. When data (1, 0, 1) is input from SAL C 3 E, SALC3F executes the process iii) according to the instruction input from the instruction input terminal CON. “1” is output from the data output terminal Dlo of SALC 3 E.
図 15は、 3サイクル目で 4番目のデータ (0,0,0) が初段の SALC3Aに 入力された状態を表している。 SALC 3 Aは、 データ (0,0,0) が入力される と、命令入力端 C0Nから入力される命令により ii)の処理を実行する。 SALC 3 Aのデータ出力端子 Dlo、 D2o、 D3oには (0,0,0) が出力される。 SALC 3 Bは、 SALC 3 Aからデ一夕 (0,0,0) が入力されると、 命令入力端 C0Nから 入力される命令により ii)の処理を実行する。 SALC 3 Bのデータ出力端子 Dio、 D2o、 D3oには (0,1,0) が出力される。 SALC3Cは、 SALC3Bか— らデ一夕 (0,1,0) が入力されると、 命令入力端 C0Nから入力される命令により iii)の処理を実行する。 SALC 3 Cのデータ出力端子 Dlo、 D2o、 D3o には (0,0,0) が出力される。 SALC 3Dは、 SALC 3 Cからデータ (0,0,0) が入力されると、命令入力端 C0Nから入力される命令により iv)の処理を実行す る。 SALC 3Dのデータ出力端子 Dlo、 D2o、 D3oには (0,0,0) が出力される。 リタイミング回路 5には、 前サイクルの SALC 3Dの出力がそのままラッ チされている。 この場合は、 (1,0,0) がラッチされる。 リタイミング回路 5の 後段の SALC 3 Eのデータ入力端子 Dli、 D2i、 D3i には、 リタイミング回路 5にラッチされた (1,0,0) が入力される。 SALC3Eは、 リタイミング回路 5からデータ (1,0,0) が入力されると、 命令入力端 CONから入力される命令に より iii)の処理を実行する。 S ALC 3 Eのデ一夕出力端子 Dlo、 D2o、 D3oに は (1,0,0) が出力される。 SALC3Fは、 SAL C 3 Eからデータ (1,0,0) が入力されると、 命令入力端 CONから入力される命令により iii)の処理を実行 する。 3八し。3£のデータ出カ端子010からは 「1」 が出力される。 Figure 15 shows the state in which the fourth data (0, 0, 0) is input to the first stage SALC3A in the third cycle. When data (0,0,0) is input, SALC 3 A executes the process ii) according to the instruction input from the instruction input terminal C0N. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A. SALC 3 B executes the processing of ii) according to the instruction input from the instruction input terminal C0N when the data (0,0,0) is input from SALC 3 A. (0,1,0) is output to the data output terminals Dio, D2o, D3o of SALC 3 B. SALC3C executes the process of iii) according to the command input from the command input terminal C0N when the data (0, 1, 0) is input from SALC3B. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 C. When data (0,0,0) is input from SALC 3C, SALC 3D executes the process of iv) according to the instruction input from instruction input terminal C0N. (0,0,0) is output to the data output terminals Dlo, D2o, D3o of SALC 3D. In the retiming circuit 5, the SALC 3D output of the previous cycle is latched as it is. In this case, (1,0,0) is latched. (1, 0, 0) latched by the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC 3 E at the subsequent stage of the retiming circuit 5. SALC3E is a retiming circuit When data (1,0,0) is input from 5, the process of iii) is executed by the instruction input from the instruction input terminal CON. (1,0,0) is output to the output terminals Dlo, D2o, and D3o of S ALC 3 E. When data (1,0,0) is input from SAL C 3 E, SALC3F executes the process of iii) according to the instruction input from the instruction input terminal CON. 3 Eight. “1” is output from the data output terminal 010 of 3 £.
図 16は、 4サイクル目で 5番目のデータ (0,0,0) が初段の SALC3Aに 入力された状態を表している。 SAL C 3 Aは、 データ (0,0,0) が入力される と、命令入力端 CONから入力される命令により ii)の処理を実行する。 SALC 3 Aのデータ出力端子 Dlo、 D2o、 D3oには (0,0,0) が出力される。 SALC 3 Bは、 SALC3Aからデータ (0,0,0) が入力されると、 命令入力端 CONから 入力される命令により ii)の処理を実行する。 SALC3Bのデ一夕出力端子 Dlo、 D2o、 D3oには (0, 0, 0) が出力される。 SALC3Cは、 SALC3Bか らデータ (0,0,0) が入力されると、 命令入力端 C0Nから入力される命令により iii)の処理を実行する。 S AL C 3 Cのデータ出力端子 Dlo、 D2o、 D3o には (0,1,0) が出力される。 SALC 3Dは、 SALC3 Cからデータ (0,1,0) が入力されると、 命令入力端 C0Nから入力される命令により iii)の処理を実行 する。 S ALC 3Dのデ一夕出力端子 Dlo、 D2o、 D3oには (0, 0, 0) が出力され る。  Figure 16 shows the state in which the fifth data (0, 0, 0) is input to the first stage SALC3A in the fourth cycle. When the data (0,0,0) is input, SAL C 3 A executes the process ii) according to the instruction input from the instruction input terminal CON. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A. When the data (0,0,0) is input from SALC3A, SALC 3 B executes the process ii) according to the instruction input from the instruction input terminal CON. (0, 0, 0) is output to the output terminals Dlo, D2o, D3o of SALC3B. When data (0, 0, 0) is input from SALC3B, SALC3C executes the process of iii) according to the instruction input from instruction input terminal C0N. (0,1,0) is output to the data output terminals Dlo, D2o, and D3o of S AL C 3 C. When data (0,1,0) is input from SALC3C, SALC 3D executes the process iii) according to the command input from command input terminal C0N. (0, 0, 0) is output to the output terminals Dlo, D2o, and D3o of S ALC 3D.
リタイミング回路 5には、 前サイクルの SAL C 3Dの出力がそのままラッ チされている。 の場合は、 (0,0,0) がラッチされる。 リタイミング回路 5の 後段の SALC3Eのデータ入力端子 Dli、 D2i、 D3i には、 リタイミング回路 5にラッチされた (0,0,0) が入力される。 SALC3Eは、 リタイミング回路 5からデータ (0,0,0) が入力されると、 命令入力端 C0Nから入力される命令に より iv)の処理を実行する。 S ALC 3 Eのデータ出力端子 Dlo、 D2o、 D3oには (0,0,0) が出力される。 SALC3Fは、 SALC3Eからデータ (0,0,0) が入力されると、 命令入力端 C0Nから入力される命令により iii)の処理を実行 する。 SAL C 3 Eのデータ出力端子 Dloからは 「0」 が出力される。  In the retiming circuit 5, the output of the SAL C 3D of the previous cycle is latched as it is. In this case, (0,0,0) is latched. (0,0,0) latched by the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC3E at the subsequent stage of the retiming circuit 5. When data (0,0,0) is input from the retiming circuit 5, the SALC3E executes the process iv) according to the instruction input from the instruction input terminal C0N. (0,0,0) is output to the data output terminals Dlo, D2o, and D3o of S ALC 3 E. When data (0,0,0) is input from SALC3E, SALC3F executes the process iii) according to the instruction input from the instruction input terminal C0N. “0” is output from the data output terminal Dlo of SAL C 3 E.
図 17は、 5サイクル目で 6番目のデータ (0,0,0) が初段の SALC3Aに 入力された状態を表している。 SAL C 3 Aは、 データ (0,0,0) が入力される と、命令入力端 CONから入力される命令により ii)の処理を実行する。 SALC 3 Aのデータ出力端子 Dlo、 D2o、 D3oには (0, 0, 0) が出力される。 SALC3 Bは、 SALC3Aからデータ (0,0,0) が入力されると、 命令入力端 CONから 入力される命令により ii)の処理を実行する。 SALC 3Bのデータ出力端子 Dlo、 D2o、 D3oには (0,0,0) が出力される。 SALC3Cは、 SALC3Bか らデータ (0,0,0) が入力されると、 命令入力端 CONから入力される命令により iii)の処理を実行する。 S ALC 3 Cのデータ出力端子 Dlo、 D2o、 D3o にはFigure 17 shows the state in which the 6th data (0,0,0) is input to the first stage SALC3A in the 5th cycle. SAL C 3 A receives data (0, 0, 0) Then, process ii) is executed by the command input from command input terminal CON. (0, 0, 0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3 A. When the data (0,0,0) is input from SALC3A, SALC3 B executes the process ii) according to the instruction input from the instruction input terminal CON. (0,0,0) is output to the data output terminals Dlo, D2o, D3o of SALC 3B. When data (0,0,0) is input from SALC3B, SALC3C executes the process iii) according to the instruction input from the instruction input terminal CON. S ALC 3 C data output terminal Dlo, D2o, D3o
(0,0,0) が出力される。 S ALC 3Dは、 SALC3 Cからデータ (0,0,0) が入力されると、 命令入力端 CONから入力される命令により iii)の処理を実行 する。 SALC 3Dのデータ出力端子 Dlo、 D2o、 D3oには (0, 1,0) が出力され る。 (0,0,0) is output. When the data (0,0,0) is input from SALC3C, S ALC 3D executes the process of iii) according to the instruction input from the instruction input terminal CON. (0, 1, 0) is output to the data output terminals Dlo, D2o, and D3o of SALC 3D.
リタイミング回路 5には、 前サイクルの SAL C 3Dの出力がそのままラッ チされている。 この場合は、 (0,0,0) がラッチされる。 リタイミング回路 5の 後段の SALC3Eのデータ入力端子 Dli、 D2i、 D3i には、 リタイミング回路 5にラッチされた (0,0,0) が入力される。 SALC3Eは、 リタイミング回路 5からデータ (0,0,0) が入力されると、 命令入力端 C0Nから入力される命令に より iii)の処理を実行する。 S ALC 3 Eのデ一夕出力端子 Dlo、 D2o、 D3oに は (0,0,0) が出力される。 SALC3Fは、 SALC3Eからデータ (0,0,0) が入力されると、命令入力端 C0Nから入力される命令により iv)の処理を実行す る。 SALC3Eのデータ出力'端子 Dloからは 「0」 が出力される。  In the retiming circuit 5, the output of the SAL C 3D of the previous cycle is latched as it is. In this case, (0,0,0) is latched. (0,0,0) latched in the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC3E at the subsequent stage of the retiming circuit 5. When the data (0,0,0) is input from the retiming circuit 5, the SALC3E executes the process iii) according to the instruction input from the instruction input terminal C0N. (0,0,0) is output to the output terminals Dlo, D2o, and D3o of S ALC 3 E. When data (0,0,0) is input from SALC3E, SALC3F executes the process iv) according to the instruction input from the instruction input terminal C0N. “0” is output from the data output terminal Dlo of SALC3E.
図 18は、 6サイクル目ですベてのデータが入力された後の状態を表してい る。 S ALC 3 A〜S ALC 3 Dは、 入力されるデ一夕がないので処理が終了 している。  Figure 18 shows the state after all data has been input in the sixth cycle. S ALC 3 A to S ALC 3 D have been processed because there is no input.
リタイミング回路 5には、 前サイクルの SAL C 3Dの出力がそのままラッ チされている。 この場合は、 (0,1,0) がラッチされる。 リタイミング回路 5の 後段の SALC 3 Eのデータ入力端子 Dli、 D2i、 D3i には、 リタイミング回路 5にラッチされた (0,1,0) が入力される。 SALC 3 Eは、 リタイミング回路 5からデータ (0,1,0) が入力されると、 命令入力端 C0Nから入力される命令に より iii)の処理を実行する。 S ALC 3 Eのデ一夕出力端子 Dlo、 D2o、 D3oに は (0,0,0) が出力される。 SALC3Fは、 SAL C 3 Eからデータ (0,0,0) が入力されると、 命令入力端 CONから入力される命令により iii)の処理を実行 する。 3八 〇3£のデータ出カ端子010からは 「0」 が出力される。 In the retiming circuit 5, the output of the SAL C 3D of the previous cycle is latched as it is. In this case, (0,1,0) is latched. (0,1,0) latched by the retiming circuit 5 is input to the data input terminals Dli, D2i, and D3i of the SALC 3 E at the subsequent stage of the retiming circuit 5. When the data (0,1,0) is input from the retiming circuit 5, the SALC 3 E executes the process iii) according to the instruction input from the instruction input terminal C0N. S ALC 3 E output terminal Dlo, D2o, D3o Outputs (0, 0, 0). When data (0,0,0) is input from SAL C 3 E, SALC3F executes the process of iii) according to the instruction input from the instruction input terminal CON. “0” is output from the data output terminal 010 of 3803 £.
以上のように本実施形態の演算パイプライン 1は、 パイプラインコントロー ラ 4からの制御データにより、 SAL P 2内でカスケ一ド接続されている S A LC 3の段数を調整可能となっている。 そのために、 SALP 2のレイテンシ を動的に変化させることができるようになる。 また、 SAL C 3を構成する各 素子は、 操作電圧供給装置 6から供給される動作電圧、 及び基板バイアス供給 装置 7から供給される基板バイァスにより、 スレツショルド電圧を動的に変化 させることができ、 各素子の性能が可変となっている。  As described above, the arithmetic pipeline 1 of this embodiment can adjust the number of stages of S A LC 3 cascade-connected in the SAL P 2 by the control data from the pipeline controller 4. Therefore, the latency of SALP 2 can be changed dynamically. In addition, each element constituting the SAL C 3 can dynamically change the threshold voltage by the operation voltage supplied from the operation voltage supply device 6 and the substrate bias supplied from the substrate bias supply device 7. The performance of each element is variable.
動作電圧、 基板バイアス、 及び SAL C 3の段数を適切にすることで、 演算 パイプライン 1の動作周波数を変えることなく、 性能の劣化を最小限にしつつ、 消費電力をコントロールすることができるようになる。  Appropriate operating voltage, substrate bias, and number of SAL C 3 stages allow power consumption to be controlled while minimizing performance degradation without changing the operating frequency of arithmetic pipeline 1. Become.
カスケード接続された SAL C 3の段数が多いと、 命令間のデータ依存性に よってはインターロックを起こして動作が止まり、 性能劣化の原因となる。 例 えば、 加算処理の後に、 その換算結果を用いて減算処理を行うような場合、 加 算処理にレイテンシがあるようではそのまま加算結果を減算命令で使えず、 加 算処理の結果を待って減算処理を実行することになる。 しかし、 処理間に依存 性が少ないプログラムの場合は、 レイテンシが長くても実効性能に影響はない。 もしくはハイパースレッディング技術や命令ィン夕リーブ技術のようにレイテ ンシが性能に与える影響を軽減する技術もある。 以上より、 プログラムなどの 状況に応じてスレツショルド電圧やパイプラインレイテンシ (SAL C 3の接 続された段数) を最適に設定することで、 性能を劣化させることなく最新のプ ロセス技術を適用させることが可能となる。  If the number of cascaded SAL C 3 stages is large, depending on the data dependency between instructions, an interlock will occur and the operation will stop, causing performance degradation. For example, if the subtraction process is performed using the conversion result after the addition process, the addition result cannot be used as it is in the subtraction instruction if there is a latency in the addition process, and the subtraction is waited for the result of the addition process. Processing will be executed. However, in the case of a program with little dependency between processes, even if the latency is long, the effective performance is not affected. Alternatively, there are technologies that reduce the impact of latency on performance, such as hyper-threading technology and command-line leave technology. Based on the above, the latest process technology can be applied without degrading performance by optimally setting the threshold voltage and pipeline latency (the number of connected stages of SAL C 3) according to the program conditions. Is possible.

Claims

請 求 の 範 囲 The scope of the claims
1 . 処理能力を動的に変化させることが可能な処理手段、 及び入力されたデ —タをリタイミング又はスルーするためのリタイミング手段が交互にカスケ一 ド接続されて成る演算機構と、 1. an arithmetic mechanism in which processing means capable of dynamically changing processing capacity and retiming means for retiming or slewing input data are cascade-connected alternately;
各リタイミング手段に、 前段に接続された処理手段による処理結果をリタイ ミング又はスルーさせるための制御データを供給するパイプラインコント口一 ラと、 を備えており、  Each retiming means includes a pipeline controller for supplying control data for retiming or through the processing result of the processing means connected to the previous stage, and
前記パイプラインコントロ一ラは、 所定の個数のリタイミング手段が処理結 果のリタイミングを行うとともに残りのリタイミング手段が処理結果をスルー するように、 各リタイミング手段に制御データを供給するように構成されてお り、  The pipeline controller supplies control data to each retiming unit so that a predetermined number of retiming units perform retiming of processing results and the remaining retiming units pass through the processing results. Configured.
リタイミングを行うリタイミング手段の個数により、 前記演算機構のレイテ ンシを決めるように構成されている、  According to the number of retiming means for performing retiming, the latency of the arithmetic mechanism is determined.
演算パイプライン。  Arithmetic pipeline.
2 . 前記パイプラインコントローラは、 複数の前記制御デ一タを各処理手段 の処理能力に応じて生成するように構成されている、  2. The pipeline controller is configured to generate a plurality of the control data according to the processing capability of each processing means,
請求の範囲第 1項記載の演算パイプライン。  The arithmetic pipeline according to claim 1.
3 . 前記処理手段は、 供給される動作電圧値及び Z又は基板バイアス値の変 化に応じて処理能力が変化するように構成されており、  3. The processing means is configured such that the processing capability changes according to changes in the supplied operating voltage value and Z or substrate bias value,
前記パイプラインコントローラは、 前記動作電圧値及び/又は前記基板バイ ァス値に応じて前記複数の制御データを生成するように構成されている、 請求の範囲第 2項記載の演算パイプライン。  The arithmetic pipeline according to claim 2, wherein the pipeline controller is configured to generate the plurality of control data in accordance with the operating voltage value and / or the substrate bias value.
4. 各処理手段は、 性能を変化させることが可能な素子により構成されて、 素子の性能の変化により処理能力が動的に変化するように構成されており、 前記パイプラインコントローラは、 複数の前記制御データ 、 前記素子の性 能に応じて生成するように構成されている、  4. Each processing means is configured by an element capable of changing the performance, and the processing capacity is configured to dynamically change according to the change in the performance of the element. The control data is configured to be generated according to the performance of the element.
請求の範囲第 2項記載の演算パイプライン。  The arithmetic pipeline according to claim 2.
5 . 前記処理手段を構成する前記素子は、 供給される動作電圧値及び Z又は 基板バイァス値の変化に応じて処理能力が変化するように構成されており、 前記パイプラインコントローラは、 前記動作電圧値及び Z又は前記基板バイ ァス値に応じて前記複数の制御データを生成するように構成されている、 請求の範囲第 4項記載の演算パイプライン。 5. The element constituting the processing means is supplied with an operating voltage value and Z or The processing capability is configured to change according to a change in the substrate bias value, and the pipeline controller generates the plurality of control data according to the operating voltage value and Z or the substrate bias value. The arithmetic pipeline according to claim 4, which is configured as follows.
6 . 前記パイプラインコントローラは、 前記複数の制御デ一夕を交番データ または一定値を取るデータとして生成するように構成されており、  6. The pipeline controller is configured to generate the plurality of control data as alternating data or data having a constant value,
前記リタイミング手段は、 前記制御デ一夕が交番データのときは前記処理結 果をリタイミングし、 前記制御データが一定値を取るときは前記処理結果をス ル一するように構成されている、  The retiming means is configured to retime the processing result when the control data is alternating data, and to smooth the processing result when the control data takes a constant value. ,
請求の範囲第 1項〜第 5項のいずれかに記載の演算パイプライン。  The arithmetic pipeline according to any one of claims 1 to 5.
7 . 性能を変化させることが可能な素子により構成されて、 前記素子の変化 に応じて処理能力が動的に変化する処理器と、 処理器による処理結果をリタイ ミング又はスルーするリタイミング回路とが、 交互にカスケ一ド接続されて成 る演算機構に接続されており、 各リタイミング回路に、 前段に接続された処理 器による処理結果をリタイミング又はスルーさせるための制御データを供給す る装置により実行される方法であって、  7. A processor configured with elements capable of changing the performance, the processing capacity dynamically changing according to the change of the elements, and a retiming circuit for retiming or through the processing result by the processor Are connected to arithmetic mechanisms that are cascade-connected alternately, and each retiming circuit is supplied with control data for retiming or slewing the processing results from the processor connected in the previous stage. A method performed by an apparatus, comprising:
前記装置が、  The device is
前記素子の性能に応じて、 所定の個数のリタイミング回路が処理結果のリ夕 イミングを行うとともに残りのリタイミング回路が処理結果をスルーするよう に、 リタイミング手段毎の前記制御データを生成する段階を含んでいる、 演算パイプラインによる処理方法。  In accordance with the performance of the element, the control data for each retiming means is generated so that a predetermined number of retiming circuits perform retiming of processing results and the remaining retiming circuits pass through the processing results. A processing method using an arithmetic pipeline that includes stages.
8 . 性能を変化させることが可能な素子により構成されて、 前記素子の変化 に応じて処理能力が動的に変化する処理器と、 処理器による処理結果をリタイ ミング又はスルーするリタイミング回路とが、 交互にカスケ一ド接続されて成 る演算機構に接続されており、 各リタイミング回路に、 前段に接続された処理 器による処理結果をリタイミング又はスルーさせるための制御データを供給す るための半導体装置であって、  8. A processor that is composed of elements whose performance can be changed, and whose processing capability dynamically changes according to the change of the element, and a retiming circuit that retimes or slews the processing result of the processor Are connected to arithmetic mechanisms that are cascade-connected alternately, and each retiming circuit is supplied with control data for retiming or slewing the processing results from the processor connected in the previous stage. A semiconductor device for
前記素子の性能に応じて、 所定の個数のリタイミング回路が処理結果のリ夕 イミングを行うとともに残りのリタイミング回路が処理結果をスルーするよう に、 リタイミング手段毎の前記制御データを生成する手段を備える、 半導体装置。 Depending on the performance of the element, a predetermined number of retiming circuits may re-process the processing results and the remaining retiming circuits may pass the processing results. And a means for generating the control data for each retiming means.
9 . 性能を変化させることが可能な素子により構成されて、 前記素子の変化 に応じて処理能力が動的に変化する処理器と、 処理器による処理結果をリ夕ィ ミング又はスルーするリタイミング回路とが、 交互にカスケ一ド接続されて成 る演算機構に接続されており、 前記リタイミング回路に前段に接続された処理 器による処理結果をリタイミング又はスルーさせるための制御デー夕を供給す るコンピュータに、  9. A processor composed of elements whose performance can be changed, and a processor whose processing capacity dynamically changes in accordance with the change of the element, and a retiming for re-migrating or passing through a processing result by the processor Is connected to an arithmetic mechanism that is cascade-connected to the circuit, and supplies control data for retiming or through the processing result of the processor connected in the previous stage to the retiming circuit. On the computer
前記素子の性能に応じて、 所定の個数のリタイミング回路が処理結果のリ夕 イミングを行うとともに残りのリタイミング回路が処理結果をスルーするよう に、 リタイミング手段毎の前記制御データを生成する処理を実行させるように するための、  In accordance with the performance of the element, the control data for each retiming means is generated so that a predetermined number of retiming circuits perform retiming of processing results and the remaining retiming circuits pass through the processing results. To make the process run,
コンピュータプログラム。  Computer program.
PCT/JP2005/011482 2004-08-10 2005-06-16 Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program WO2006016451A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-233366 2004-08-10
JP2004233366A JP2006053652A (en) 2004-08-10 2004-08-10 Computing pipeline, processing method using computing pipeline, semiconductor device, and computer program

Publications (1)

Publication Number Publication Date
WO2006016451A1 true WO2006016451A1 (en) 2006-02-16

Family

ID=35839227

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/011482 WO2006016451A1 (en) 2004-08-10 2005-06-16 Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program

Country Status (2)

Country Link
JP (1) JP2006053652A (en)
WO (1) WO2006016451A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108020A (en) * 2009-11-18 2011-06-02 Mitsubishi Electric Corp Signal processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08274620A (en) * 1995-03-29 1996-10-18 Hitachi Ltd Semiconductor integrated circuit device and microcomputer
JP2003316566A (en) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd Pipeline processor
JP2004062281A (en) * 2002-07-25 2004-02-26 Nec Micro Systems Ltd Pipeline processor and pipeline operation control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08274620A (en) * 1995-03-29 1996-10-18 Hitachi Ltd Semiconductor integrated circuit device and microcomputer
JP2003316566A (en) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd Pipeline processor
JP2004062281A (en) * 2002-07-25 2004-02-26 Nec Micro Systems Ltd Pipeline processor and pipeline operation control method

Also Published As

Publication number Publication date
JP2006053652A (en) 2006-02-23

Similar Documents

Publication Publication Date Title
US7406588B2 (en) Dynamically reconfigurable stages pipelined datapath with data valid signal controlled multiplexer
Bahadori et al. High-speed and energy-efficient carry skip adder operating under a wide range of supply voltage levels
JP4566180B2 (en) Arithmetic processing device and clock control method
JP4129345B2 (en) Control of multiple equivalent functional units for power reduction
JPH0744265A (en) Pipeline processing circuit
JP3705022B2 (en) Low power microprocessor and microprocessor system
KR19990072622A (en) Low power multiplier for CPU and DSP
JP2004062281A (en) Pipeline processor and pipeline operation control method
US7349938B2 (en) Arithmetic circuit with balanced logic levels for low-power operation
US20090150471A1 (en) Reconfigurable arithmetic unit and high-efficiency processor having the same
WO2006016451A1 (en) Arithmetic pipeline, processing method by arithmetic pipeline, semiconductor device, and computer program
JP3459821B2 (en) Microprocessor
Lee et al. A low-power implementation of asynchronous 8051 employing adaptive pipeline structure
Blaauw et al. CPU, heal thyself
JP2010079841A (en) Microcomputer and instruction execution method thereof
JP3906865B2 (en) Low power microprocessor and microprocessor system
US7804331B2 (en) Semiconductor device
JP5187303B2 (en) Dual rail domino circuit, domino circuit and logic circuit
JP2011059869A (en) Arithmetic processing unit equipped with pipeline structure for servo motor control
PAVITRA et al. Design of High Speed Variable Latency 64-Bit Carry Skip Adder
JP2006005703A (en) Semiconductor device
JPH0391028A (en) Pipeline processor
TEJASWINE et al. A New Approach for High Speed and Energy Efficient Carry Skip Adder
SHARMILA et al. A New Approach for High Speed and Energy Efficient Carry Skip Adder
Rao et al. IMPLEMENTATION OF MULTIPLEXER BASED HIGH SPEED AND LOW POWER CONSUMPTION MULTIPLIER

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase