EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Physical Limitations of Logic Gates – Week 10a In a computer we’ll have circuits of logic gates to perform specific functions • Computer Datapath: Boolean algebraic functions using binary variables • Symbolic representation of functions using logic gates • Example: A B C D •Every node has capacitance and interconnects have resistance. It takes time to charge these capacitances. •Thus, output of all circuits, including logic gates is delayed from input. •For example we will define the unit gate delay EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California UNIT GATE DELAY D Time delay D occurs between input and output: “computation” is not instantaneous Value of input at t = 0+ determines value of output at later time t = D A Logic State C B Input (A and B tied together) 1 0 t 0 1 0 Output 0 D t EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California UNIT GATE DELAY D in ASYNCHRONOUS LOGIC Time delay D is measured from the last input change A Logic State C B Input A 1 Input B 0 t 0 1 0 Output 0 D t EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Synchronous and Asynchronous Logic Time delay occurs between input and output in real logic circuits. Therefore the time at which output appears is difficult to predict… it depends for example on how many gates you go through. CK A B C We will often not distinguish asynchronous vs synchronous logic. To make logic operations as fast as possible, we need predictability of signal availability. That is we want to know exactly when “C” is correctly computed from A and B. This requirement argues for synchronous logic, in which a clock signal CK actually initiates the computation of C. Thus in the modified gate, C will be valid precisely one gate delay (D) after the clock input CK, goes high (A and B are evaluated precisely when CK goes high, what they do before or after this is irrelevant; CK must go low, then high again before the NAND gate again looks at A and B). EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California EFFECT OF GATE DELAY Cascade of Logic Gates A B D C Inputs have different delays, but we ascribe a single worst-case delay D to every gate How many “gate delays for shortest path? ANSWER : 2 How many gate delays for longest path? ANSWER : 3 Which path is the important one? ANSWER : LONGEST EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California TIMING DIAGRAMS Show transitions of variables vs time A B Logic state D A, B, C C 0 B Note B becomes valid one gate delay after B switches t D t D 2 D t D t D 2D3D t __ __ Note that ( B C )becomes valid two gate delays after B&C switch, because the invert function takes one delay and the NAND function a second. ( B C ) ( A B) D No change at t = 3 D EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California W. G. Oldham WHAT IS THE ORIGIN OF GATE DELAY? Logic gates are electronic circuits that process electrical signals Most common signal for logic variable: voltage Specific voltage ranges correspond to “0” or “1” Volts 3 2 Range “1” Thus delay in voltage rise or fall (because of delay in charging internal capacitances) will translate to a delay in signal timing “Gray area” . . . not allowed 1 Range “0” 0 Note that the specific voltage range for 0 or 1 depends on “logic family,” and in general decreases with logic generations EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California VOLTAGE WAVEFORMS (TIME FUNCTIONS) Inverter input is vIN(t), output is vOUT(t) inside a large system v IN ( t ) v OUT ( t ) Vin(t) t EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California GATE DELAY (PROPAGATION DELAY) Define as the delay required for the output voltage to reach 50% of its final value. In this example we will use 3V logic, so halfway point is 1.5V. Inverters are designed so that the gate delay is symmetrical (rise and fall) Vin(t) 1.5 t Vout(t) Approximation 1.5 D D D t EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California EFFECT OF PROPAGATION DELAY ON PROCESSOR SPEED Computer architects would like each system clock cycle to have between 20 and 50 gate delays … use 35 for calculations Implication: if clock frequency = 500 MHz clock period = (5108 s1)1 Period = 2 10 9s = 2 ns (nanoseconds) Gate delay must be D = (1/35) Period = (2 ns)/35 = 57 ps (picoseconds) How fast is this? Speed of light: c = 3 108 m/s Distance traveled in 57 ps is: C X D = (3x108m/s)(57x10-12s) = 17 x 10-4 m = 1.7cm EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California WHAT DETERMINES GATE DELAY? v IN ( t ) v OUT ( t ) The delay is mostly simply the charging of the capacitors at internal nodes. We already know how to analyze this. EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Example The gate delay is simply the charging of the capacitors at internal nodes. Oversimplified example using “ideal inverter, II” v OUT ( t ) and 5V logic swing 5 v OUT ( t ) v IN ( t ) v IN ( t ) RC = 0.1ns R Vx MODEL II v OUT ( t ) 2.5 v IN ( t ) C 5 vIN 2.5 RC = 0.1ns so 0.069ns after vIN switches by 5V, Vx moves 2.5V vOUT Vx D = 0.069ns t EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Simple model for logic delays Model actual logic gate as an ideal logic gate fed by an RC network which represents the dominant R and C in the gate. v IN ( t ) R C VX Ideal Logic gate v OUT ( t ) Actual Logic Gate vIN (t) Ideal Logic gate etc. v OUT ( t ) vIN vOUT VX t D = 0. 69 RC t EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California W. G. Oldham How can we build inverters, NAND gates, etc. ? We need some sort of controlled switch: that is a device in which a switch opens or closes in response to an input voltage (a control voltage). If we have a controlled switch it is an easy matter to build inverters, NAND gates, etc. For example an electromagnetic relay has a coil producing a magnetic field causing some contacts to “snap shut” when a voltage is applied to the coil. Lets imagine a simple controlled switch, but include in it some resistance (all real devices have non-zero resistance). EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Controlled Switch Model I R Output I vs. V I Input high + Output Input + - Input low - The basic idea: We need a switch which is controlled by an input voltage. For example: Input V = 0 means the switch is open, whereas an input voltage of 2V means that the switch is closed (We will call this a “Type N controlled switch”) V EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California Controlled Switch Model G Input + - - RN + Output +- Type N controlled switch” means switch is closed if input is high. (VG > VS) RP + Output +- Type P controlled switch” means switch is closed if input is low. (VG < VS) S G Input + - - S Now lets combine these switches to make an inverter. W. G. Oldham EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Controlled Switch Model of Inverter VDD = 2V RP VIN + RN Input + - SP SP is closed if VIN < VDD VOUT + +SN is closed if Output VIN > VSS SN - VSS = 0V So if VIN is 2V then SN is closed and SP is open. Hence VOUT is zero. But if VIN is 0V then SP is closed and SN is open. Hence VOUT is 2V. EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Controlled Switch Model of Inverter VDD = 2V VIN =2V + RN - SS = 0V V VOUT - IF VIN is 2V then SN is closed and SP is open. Hence VOUT is zero (but driven through resistance RN). VDD = 2V VIN =0V RP + VOUT - SS = 0V V - But if VIN is 0V then SP is closed and SN is open. Hence VOUT is 2V (but driven through resistance RP). EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California Controlled Switch Model of Inverter VDD = 2V VIN =2V + RN - SS = 0V V VOUT - IF there is a capacitance at the output node (there always is) then VOUT responds to a change in VIN with our usual exponential form. VOUT VDD = 2V VIN =0V VIN jumps from 2V to 0V RP + VOUT - SS = 0V V - VIN jumps from 0V to 2V t EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California W. G. Oldham Controlled Switch Model of Inverter We will expand on this model in coming weeks. The controlled switches will of course be MOS transistors. The resistance will be the effective output resistance of the MOS devices. The capacitance will be the input capacitance of the MOS devices. But now lets briefly review the energy used in charging and discharging capacitances so we can start to estimate chip power. EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California ENERGY AND POWER IN CHARGING/DISCHARGING CAPACITORS – A REVIEW CASE 1R t=0 Capacitor initially uncharged Charging i (Q=CVDD at end) V C DD RD Switch moves @ t=0 Power out of "battery" P i( t ) VDD Power into C PC i( t )VC ( t ) Power into R PR i( t )2 R Energy out of "battery" Energy into C Energy into R (heat) E iV DDdt QVDD 0 CVDD 2 EC iVC dt 0 1 CVDD 2 2 This must be difference of E and EC, i.e. 1 CVDD2 2 EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California ENERGY AND POWER IN CHARGING R t=0 VDD C RD Capacitor initially uncharged (Q=CVDD at end) Switch moves @ t=0 Energy out of "battery" CVDD 2 Energy into C 1 CVDD 2 2 Energy into R (heat) 1 CVDD2 2 In charging a capacitor from a fixed voltage source VDD half the energy from the source is delivered to the capacitor, and half is lost to the charging resistance, independent of the value of R. EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California ENERGY AND POWER IN CHARGING/DISCHARGING CAPACITORS CASE 2R t=0 Capacitor initially charged discharging (Q=CVDD) and discharges. V C DD RD i Switch moves @ t=0 =0 Power out of C PC i( t )VC ( t ) Power into RD PR i( t )2 R Energy out of battery Energy out of C Energy into RD (heat) =0 EC iVC dt 0 Power out of battery Power in/out of R =0 1 CVDD 2 2 This must be energy initially in C, i.e. 1 CVDD 2 2 EECS 42 Spring 2001 Lecture 19 W. G. Oldham Copyright Regents of University of California ENERGY IN DISCHARGING CAPACITORS R t=0 VDD C RD Capacitor initially charged (Q=CVDD) and discharges. Switch moves @ t=0 Energy out of C 1 CVDD 2 2 Energy into RD (heat) 1 CVDD 2 2 When a capacitor is discharged into a resistor the energy originally stored in the capacitor (1/2 CVDD2) is dissipated as heat in the resistor EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California W. G. Oldham POWER DISSIPATION in DIGITAL CIRCUITS Each node transition (i.e. charging or discharging) results in a loss of (1/2)(C)(VDD)2 How many transitions occur per second? Well if the node is pulsed up then down at a frequency f (like a clock frequency) then we have 2f dissipation events. A system of N nodes being pulsed at a frequency f to a signal voltage VDD will dissipate energy equal to (N) (2f )(½CVDD)2 each second Therefore the average power dissipation is (N) (f )(CVDD)2 EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California LOGIC POWER DISSIPATION Power = (Number of gates) x (Energy per cycle) x (frequency) P = (N) (CVDD)2 (f ) N = 107; VDD = 2 V; node capacitance = 10 fF; f = 109 s-1 (1GHz) P = 400 W! -- a toaster! Pretty high but realistic What to do? (N increases, f increases, hmm) 1) Lower VDD 2) Turn off the clock to the inactive nodes Clever architecture and design! Lets define a as the fraction of nodes that are clocked (active). Then we have a new formula for power. W. G. Oldham EECS 42 Spring 2001 Lecture 19 Copyright Regents of University of California W. G. Oldham LOGIC POWER DISSIPATION with power mitigation Power = (Energy per transition) x (Number of gates) x (frequency) x fraction of gates that are active (a). P = a N f CVDD2 In the last 5 years VDD has been lowered from 5V to about 1.5V. It cannot go very much lower. But with clever design, we can make a as low as 1 or 10%. That is we do not clock those parts of the chip where there is no computation being made at the moment. Thus the 400W example becomes 4 to 40W, a manageable range (4W with heat sink, 40W with heat sink plus fan on the chip).