Docstoc

lowpower

Document Sample
lowpower Powered By Docstoc
					                반도체공학개론




집적회로 설계 기술 : 저전력 설계




              전남대학교 김영철
                    반도체공학개론




       학습 목적 및 목표

• 저전력 설계의 필요성과 더불어 현재 반도체
  공정에서의 저전력 설계의 중요성을 인식

• 시스템, 알고리즘 및 구조, 소프트웨어, 로직
  및 회로, 반도체 공정 측면에서의 저전력 설
  계에 대한 기본적인 사항 및 동향 등을 이해
                           반도체공학개론


   목차

 저전력 시스템 필요성 및 Overview
 시스템 측면 저전력 설계
 구조 및 알고리즘 측면
 소프트웨어 측면
 로직 및 회로 측면
 공정 및 소자 측면
                                    반도체공학개론
저전력이 왜 필요한가 ?

   IC의 전력 소모 증가
    System on chip으로 회로의 크기 및 복잡도의 증가
    IC의 집적도와 동작속도는 10배 증가
    power-delay-product는 8년 동안 10배 감소


  저전력을 요구하는 시스템의 증가
    Portable system에 대한 수요 증가
       휴대폰, 노트북 컴퓨터, PDA, LCD 등
    ULSI Microprocessors
    Parallel Computer


  부가적인 문제점
    Battery 기술의 한계로 한정된 battery 용량
    특수 cooling 장치의 고비용과 제한된 회로의 열 발산
                                                             반도체공학개론
 어떤 곳에 저전력이 적용되는가?




Personal Electronics     Telecommunications   Audio-Visual         PC & Peripherals
-Watch                   -Cellular Phone      -VTR                 -Palmtop PC
-Game                    -Pager               -CD & Radio          -PC(Desktop/Note)
-PDA                     -Cordless phone      -MD                  -IC Card
-Electronic Dictionary   -Facsimile           -Remote Controller   -POS System
-Measurement Tool        -Two way Radio       -Camera
                                                                   반도체공학개론
노트북은 얼마나 전력을 쓸까?
• Sub-System                     ** (W)
                              PowerMobile Intel Pentium III Processor-M based notebook
     ---------------------------------------------------------------------------
     Processor                                             <1.0
     MCH and ICH and memory                                ≤1.9
     GFX                                                   1.2
     LCD 14.1" SXGA+and backlight                          4.8
     HDD                                                   1.2
     DVD                                                   0.4
     LAN (wired or wireless)                               0.3
     PS loss                                               1.2
     Fan                                                               0.3
     Clock Generation                                      0.7
     Rest of Platform                                      1.2
     EBL Savings                                                       -0.5
     Platform total:                                       <13.7
     ----------------------------------------------------------------------------
•   With a 65.1 WHr 8-cell LiIon battery, this notebook would deliver
    4.8 Hr (= 65.1 WHr / 13.7 W) on this benchmark.
•   Refer : Intel ® Mobile Platform Vision Guide for 2003 September
    2002
                         반도체공학개론
배터리 발달 대비 시스템 전력소모가 얼마나 되나?
                       반도체공학개론
얼마나 많은 트랜지스터를 사용하나 ?
                           반도체공학개론
Gate 집적도 & power density
                           반도체공학개론
Gate 집적도 & power density




 • temp
                  반도체공학개론
반도체 칩의 전력 소비 경향
                        반도체공학개론
저전력 설계 관점



              시스템

            구조 및 알고리즘

             소프트웨어

               회로

             공정 및 소자
                                           반도체공학개론
저전력 설계 관점별 주안점


 시스템 레벨
  – 시스템 각 부분 별로 전력을 최소화할 수 있도록 설계

 구조 및 알고리즘 레벨
  – 저전력을 위한 알고리즘과 알고리즘을 효율적으로 구현할 수 있는 구조

 소프트웨어 레벨
  – 저전력을 위한 컴파일러 및 소프트웨어적인 저전력 제어 루틴

 회로 레벨
  – Circuit style과 topology를 효율적으로 운용

 반도체 공정 및 소자 레벨
  – 소자의 크기, Threshold voltage와 capacitance의 감소
                                     반도체공학개론
전력 소모 원천은 무엇인가?


  Charging Current
   – 0, 1 논리값의 변화가 부하 capacitance 를 충/방전시키면서
     발생하는 전류 소모


  Short-circuit Current
   – 논리값이 변할 때, 순간적으로 p-tree 와 n-tree 가 동시에 On
     되어 short 회로가 되는 순간 전력 소모


  Leakage Current
   – 트랜지스터와 n-well 사이에 다이오드 회로를 통한 누설 전류
   – 공정이 발전함에 따라 중요한 요소로 작용
      • Sub-micron process
                                        반도체공학개론
저전력 설계 방법들은 어떤 것들이 있는가?

    공급 전압을 조절
     – 여러 개의 전압 사용 (high speedhigh voltage)
     – 사용하지 않는 block에 대해서는 sleep mode


    동작 주파수를 줄임
     – Parallel processing
     – 큰 clock buffer의 사용을 피한다.
     – PLL을 사용한 주파수의 선택적 사용


    Parasitic capacitance를 줄임
     –   Critical node에 짧은 배선
     –   3배 이상의 fan-out을 사용하지 않음
     –   낮은 공급 전압에는 폭이 좁은 배선 사용
     –   가능한 한 작은 크기의 transistor 사용
                                        반도체공학개론
저전력 설계 방법들은 어떤 것들이 있는가?


   Switching Activity를 줄임

    –   Bandwidth를 감소 (비트 수 감소)
    –   동적회로보다는 정적회로 사용
    –   전체 transistor의 수를 줄임
    –   Switching Activity가 최소인 로직 구성
    –   가장 active한 node는 internal node로 결정
    –   입력 신호 activity가 높을 수록 Power에서 멀리 배치
    –   Activity 큰 경우 동적회로, 작은 경우 정적회로
    –   Activity가 없는 플립플롭이나 셀의 clock disable
                                                반도체공학개론
시스템 레벨

  전력 관리 (Power Management)
  – 항상 모든 블록에 전력을 공급하는 것은 낭비
  – Selective power down, Sleep mode, Adaptive clocking/voltage


  분할 (Partitioning) 기법
  – 전역 메모리 데이터 전송 및 참조는 전력 낭비
  – 칩 전역에 전역신호를 구동하려면 많은 전력 소모


  프로그램 가능한 하드웨어(Programmability)
  – 전용의 하드웨어 사용은 자원 및 전력의 낭비
  – 수정 및 확장 용이한 시스템 설계


  데이터 표현방식(Data Representation)
  – 최소한의 변수 및 버스 폭을 가지는 데이터를 이용한 계산 및 전송
                                        반도체공학개론
시스템 레벨
  전력 관리
  – Selective power down
     • 시스템의 다양한 블록에 gated clock 사용
     • 동적 회로에 대해서 클럭속도를 낮춤
     • 동기 회로인 경우에만 적용


  – sleep mode
     • 시스템 전체의 Power down
     • 외부 트리거링(interrupt)을 통해 시스템이 작업을 재개


  – adaptive clocking/voltage
     • 마이크로 프로세서에서 주로 사용
     • 시스템은 작업에 따라 시시각각 요구되는 성능이 다름
     • 작업에 충분한 만큼의 성능(clock/voltage)만을 제공
     • Clock slowdown instruction 을 응용프로그램에서 삽입
                               반도체공학개론
시스템 레벨
  • Clock management example
                                   반도체공학개론
시스템 레벨

  분할(Partitioning) 기법
   – Partitioning of Processor
       • 프로세서의 서브블럭들을 분할하여 설계
       • 계산용량 그래프에 따라 특정 서브블럭을 최적화
       • 수행될 알고리즘 또한 프로세서에 효율적으로 분할되어
         수행될 수 있어야 함


   – Partitioning of Memory
       • 전역 메모리대신 분산된 소규모 지역 메모리 배열을 사용
       • 메모리 접근 명령을 줄임


   – Partitioning of controllers
       • 하나의 전역 컨트롤러가 모든 제어신호를 만들지 않음
       • 해당 컨트롤러가 해당 위치에서 필요할 때만 동작
       • 불필요한 전역 연결과 동작을 줄임
                                                    반도체공학개론
시스템 레벨

   분할(Partitioning) 기법 Example


                                                 Centralized
                                                 – CLK : 8.3MHz
                                                 – VDD : 3.0V
                                                 – Area : 53.3 mm2
                                                 – Power : 6.96mW

                                                 Distributed
                                                 – CLK : 1.04MHz
                                                 – VDD : 1.1V
                                                 – Area : 92.9mm2
                                                 – Power : 0.412mW

Centralized vs. distributed implementation of VQ image encoder [Lid94]
                                    반도체공학개론
구조 및 알고리즘


  구조 측면에서 저전력
   – 동시처리 가능한 하드웨어(concurrent processing) 구조
     • 잘 알려진 병렬 또는 파이프라인 구조
     • 많은 면적을 차지하는 단점


   – 동작 주파수 및 전원 전압을 낮출 수 있음
     • 순차적인 구조에 비해 낮은 동작 주파수
     • 단순 구조를 여러 개 사용함으로써 동작전압을 낮출 수 있음
                                 반도체공학개론
구조 및 알고리즘


  알고리즘 측면에서 저전력
  – Complexity
      • 전체적인 명령어, 데이터 접근 수 및 저장 공간을 줄임
      • 전력소모가 많은 메모리나 레지스터 접근을 줄임


   – Regularity
      • 규칙적인 상호 연결과 보다 적은 상태변수를 사용
      • 정확한 분기 명령어 예측


   – Precision
      • 작은 워드 사이즈 사용
                                           반도체공학개론
구조 및 알고리즘


  • Example – Original Data Path Operator

     A




                                   Comparator
           f

     B
           f

                 C

                      f

   clk
                                                      반도체공학개론
구조 및 알고리즘

  • Redesigned Parallel Implementation > 2 X Area increase
  • Ppar = ( 2.15C ) ( 0.58V ) 2 ( 0.5f ) ≈ 0.36 P




                                     Comparator
               A
                     f/2

                     f/2
                           C
                               f/2




                                     Comparator
                                                  f
                     f/2
               B
                     f/2
                           C
                               f/2
               clk
                                                      반도체공학개론
구조 및 알고리즘

 • Redesigned Pipelined Implementation > 1.3 X Area increase
 • Ppipe = ( 1.15C ) ( 0.58V ) 2 ( f ) ≈ 0.39P




                                         Comparator
         A
              f

                               f
         B
              f

                    C
                        f      f

        clk
                                  반도체공학개론
소프트웨어


  소프트웨어 관점의 전력 소모

  – 소프트웨어가 많은 부분의 하드웨어를 제어
  – 메모리 시스템은 휴대형 컴퓨터에서 약 1/10 에서 ¼ 을 소모
    ( 영상 및 비디오가 가장 많이 소모)
  – 시스템의 버스 동작은 소프트웨어가 제어
  – ALU 나 FPU 등의 데이터 패스는 파이프라인이 stall되지 않도록
    관리
  – 제어 로직이나 클럭면에서 가능한 짧은 시간 계산 종료해야 함
  – 소프트웨어를 통해 하드웨어의 전력를 제어
      • Idle 상태에 있는 하드웨어의 전력을 제어
      • 절전 모드
                                        반도체공학개론
소프트웨어


 메모리 사용 측면의 고려사항

  – 메모리는 전력 및 성능의 병목을 유발
  – 메모리 접근 회수를 최소화 하는 알고리즘 사용
  – 요구되는 전체 메모리 크기를 최소화하는 알고리즘
  – 필요한 메모리를 최대한 CPU와 가까운 곳에 둠
     • 가장 가까운 것부터 Register, Cache, External RAM 순으로 사용
  – 메모리 대역폭을 최대한 효율적으로 이용
     • Single word 대신 Multiple-word parallel loads를 사용
  – Cache 메모리
     • 크기와 응용 프로그램에 따른 최적화
     • Locking 사용
                                             반도체공학개론
소프트웨어

    Example - Improve Loop Nesting

     – 메모리의 내용 A 가 B를 거쳐서 메모리 C에 옮겨지는 코드

     – Before : 배열 B 는 레지스터에 저장하기에는 너무 크기 때문에
       또 하나의 메모리를 사용한다.

     – After : B 의 내용이 레지스터를 통해 C 의 메모리에 옮겨진다.
         • 메모리 B 읽고 쓰기 위한 2N 의 메모리 접근 불필요(register access)
         • 또한 B 를 위한 N 메모리 할당이 불필요

                                     메모리 대신 레지스터를 사용함

Before ----------                          After -----------
                       A[N]
FOR i := 1 TO N DO                         FOR i := 1 TO N DO
 B[i] := f(A[i]);      B[N]          REG    B[i] := f(A[i]);
FOR i := 1 TO N DO                          C[i] := g(B[i]);
                       C[N]
 C[i] = g(B[i]);                           END;
                                                        반도체공학개론
소프트웨어


 전력 관리 ( Power Management ) 사용

  – 소프트웨어가 프로세서의 power-down mode를 제어
     • 사용자 인터페이스 – 동작의 급작스런 발생
     • 시스템 idle time이 일정 시간을 초과하면, shutdown
     • 단순 하드웨어 전력제어뿐 아니라, 소프트웨어 전력 관리 사용


  – Example: SPARClite
     • Power-down register masks/enables clock for:
         – SDRAM, DMA module, FPU, floating-point queues


  – Example: Hitachi SH3
     • Standby mode: CPU core stopped, peripheral controller, bus controller,
       memory refresh continue
     • Sleep mode: Everything but real-time clock stops
                                                          반도체공학개론
소프트웨어


 Example: Intel 486SL
   • System Management Mode entered by synchronous interrupt
   • Can enable, disable, & switch between fast and slow clocks for CPU and
     ISA bus


 Example: PowerPC 603 and 604
   • Dynamic power management – removes clock from execution units
     (saves 8-16%)
   • Static power management –
       – Doze – shuts off most function units, keeps bus snooping enabled to maintain
         data cache coherence
       – Nap – shuts off bus snooping and sets wakeup timer, keeps phase-locked
         loop running to allow quick clock restart
       – Sleep mode – also shuts off phase-locked loop
                                  반도체공학개론
로직 & 회로

  RTL 또는 Logic level 의 초기 설계 단계

  저전력 회로 설계 관점
   –   dynamic logic
   –   pass-transistor logic
   –   asynchronous logic
   –   Transistor sizing
   –   design style


  FSM( Finite State Machine)
   – 상태 할당시에 전력을 절감하도록 상태를 할당
   – 로직 합성시 저전력을 위한 공통 서브함수들을 찾음


  전력 소모 뿐만 아니라 설계의 용이함과 Robustness 를 고려
                                             반도체공학개론
로직 & 회로


  Dynamic logic
   – 장점
      • 불필요한 switching이 적다.
      • PMOS tree가 하나의 Precharge device로 교체되므로 device의 개수
        를 줄임에 따라, Parasitic capacitance가 감소한다.
      • Short circuit current가 없다.


   – 단점
      • Clock 회로가 커짐 ( Clock 회로의 전력소모 증가 )
      • Pre charging 필요
      • Charge sharing 현상
          – 입력은 precharging 기간에만 변할 수 있다.
                                           반도체공학개론
로직 & 회로

   • Dynamic logic Example




       입력(A,B,C)
       출력(F)
                                       P : 프리차징
                   E   P   E   P   E
                                       E : 논리 평가
                                            반도체공학개론
로직 & 회로


   Pass transistor Logic
   – 장점
       • 트랜지스터 개수를 줄임
       • 약 30% 정도의 전력소모 감소


   – 단점
       • 낮은 전압 스윙 ( 공정에 따라 문제가 됨)
       • 정적 전력 소모가 존재
       • 부가적인 컨트롤 회로가 필요 ( compensation )
                                    반도체공학개론
로직 & 회로

 • Pass transistor Logic- example
                                                 반도체공학개론
로직 & 회로

   Asynchonous logic
   – 일반적으로 시스템 레벨의 설계 방법에서 고려

   – Idle 상태동안 시스템을 자체 또는 일부를 power-down하여 전력을
     소모하지 않음

   – 장점
      • Glitch와 같은 불필요한 동작이 없다.
      • Clock 및 triggering이 없다.


   – 단점
      • 부가적으로 Handshake interface 와 completion signal generation을
        위한 회로가 면적이나 전력을 소비
      • 실제 동작과 별개로 동작여부를 결정하기 위한 지연시간의 낭비
                                               반도체공학개론
로직 & 회로

  • Example - Asynchronous logic
     – Asynchronous circuit with handshaking
                                           반도체공학개론
로직 & 회로

  Transistor sizing & Design style
   – 최소크기의 디바이스(트랜지스터)를 사용

   – 큰 디바이스 사용시
       • 전류 구동 능력 증가
       • 커패시턴스와 short-circuit current 증가
       • 전력과 면적 소모 증가


   – 큰 디바이스가 항상 좋은 성능을 보이는가 ?
       • 디바이스 사이즈를 키우면, 전류 구동과 같은 비율로 부하
         커패시턴스가 증가하며
       • 기생 커패시턴스의 증가로 인해 약간의 성능 향상만을 기대할 수 있다.


   – 트랜지스터의 직렬 배열시 순서 중요
       • 지연은 20%, 전력은 10%까지 영향을 미침
       • 스위칭 동작이 적은 트랜지스터를 power 쪽에 가깝게 배치
                                                        반도체공학개론
로직 & 회로

   FSMs
   – 상태 할당시 상태 변화의 유사성을 고려
         • 현재 상태에서의 신호의 변화 수를 최소화
         • Coding 1 uses 15% more power than coding 2


             Coding 1   Coding 2
    S1          010       000
    S2          101       100
    S3          000       111
    S4          111       010
    S5          100       011



   – 조합회로(combinational Logic)의 논리 합성시에 신호의 동
   작을 고려하여 sub-expression을 추출함
                                                      반도체공학개론
공정 및 소자

  Packaging
   • 전체 전력의 ¼ 에서 ½ 까지를 I/O회로가 차지


  Process
   • 공정의 크기가 작아지면서 작은 디바이스가 만들어지고,
     threshold voltage 가 낮아진다.

   • Sub-micron 으로 갈수록 parameter의 예측이 어렵다.
      • Short-Channel and Narrow-Gate-Width Effects
      • Drain-Induced Barrier Lowering
      • Gate-Induced Drain Leakage


  CMOS technology
                                              반도체공학개론
공정 및 소자

  Packaging

   – 칩 외부의 큰 커패시턴스를 구동

   – 내부 커패시턴스는 수십 fF, Off-chip 커패시턴스는 수십 pF

   – 약 13 ~ 14pF (10pF(pad) + 3~4pF (PCB)) [Bak90].

   – 칩 레벨에서의 I/O capacitance 는 전체 시스템의 ¼ 에서 ½ 의
     전력 차지

   – Multi-chip system 인 경우, I/O power의 감소가 반드시 필요
                                      반도체공학개론
공정 및 소자


  Process

   – Technology scaling

       •   트랜지스터의 W/L 감소
       •   oxide thicknesses 감소
       •   depletion region 폭 감소
       •   Interconnection 폭과 두께 감소


   –   threshold voltage scaling.
       • 전력소모 식에서 제곱항
       • 전력 소모를 줄이는 가장 직접적이고 결정적인 요소
                                          반도체공학개론
공정 및 소자

  저전력을 위한 CMOS 의 이점

   – 저가, 고집적, 다양한 기능

   – 아날로그와 디지털의 혼용 가능

   – 정적 전력 소모가 적음

   – 낮은 누설 전류 및 threshold 전압

   – 비포화 선형 영역 동작(Weak inversion operation)
      • 바이폴라 트랜지스터와 유사한 특성
      • 전압 이득을 가진다.
      • 최대 전류가 작다
                                                 반도체공학개론
공정 및 소자

  Power Consumption in CMOS

   – 정적 전력 소모 (Static Power consumption)
      • 이상적으로는, CMOS 회로는 DC 성분의 전력소모 없음
      • 누설전류, sub-threshold 전류, substrate injection 전류

   – 동적 전력 소모 (Dynamic Power consumption)
      • 스위칭이 일어나는 순간
      • VDD 와 GND 사이에 단락회로가 존재
                          반도체공학개론
집적도 증가에 따른 전력소모의 새로운 도전

  작은 소자와 높은 주파수에 따른
  문제

   – 활성 전력 소모 (Active
     Power consumption)
      • 전력 밀도 증가
   – 누설 전력 소모 (Leakage
     Power consumption)
      • 작은 문턱전압에 의한
        누설전류밀도 증가
                         반도체공학개론
전력 최적화를 위한 노력

  다양한 기법 사용
   – 설계시 고려 사항
   – Sleep Mode에 대한 고려
   – 실행시 고려 사항
                                  반도체공학개론
요약

•   SoC 시대를 맞아 회로의 집적도와 동작속도의 증가로 전력소모가 크게
    늘어남

•   휴대형 제품의 증가로 저전력에 대한 요구가 늘어남

•   저전력 소모를 위한 설계방법론을 일반적으로 살펴봄

•   시스템 측면의 저전력 설계 기법

•   구조 및 알고리즘 측면의 저전력 설계 기법 소프트웨어 측면의 저전력
    설계 기법

•   로직 및 회로 측면의 저전력 설계 기법

•   반도체 공정 및 소자 측면의 저전력 설계 기법

•   CMOS 회로의 장점 및 전력소모

•   집적도 증가에 따른 새로운 도전
                                                          반도체공학개론
참고 문헌

[1] A. Bellaouar and M. I. Elmasry, Low-Power Digital VLSI Design, Kluwer
    Academic Publishers
[2] A. Chandrakasan, S. Sheng, and R. W. Brodersen, "Low-Power CMOS
    Design", IEEE Journal of Solid-State Circuits, Vol. 27, No. 4, pp. 472-484,
    April 1992.
[3] S. Gary, C. Dietz, J. Eno, G. Gerosa, S. Park, and H. Sanchez, "The
    PowerPC 603 Microprocessor: A Low-Power Design for Portable
    Applications", Proc. of COMPCON'94, Tech. Dig., pp. 307-315, Feb. 1994.
[4] P. Freet, "The SH Microprocessor: 16-Bit Fixed Length Instruction Set
    Provides Better Power and Die Size", Proc. of the Thirty-Ninth IEEE
    Computer Society International Conference, pp. 486-489, Mar. 1994.
[5] Intel Corp., Embedded Ultra-Low Power Intel 486TM GX Processor, SmartDie
    TM Product Specification, Dec. 1995
[6] R. Gonzalez and M. Horowitz, "Energy Dissipation in General Purpose
    Processors", Proc. of the IEEE Symposium on Low Power Electronics, pp.
    12-13, Oct. 1995.
[7] http://www.caip.rutgers.edu/~bushnell/analoglowpow/analogwebpage.html
[8] http://semiplaza.snu.ac.kr/lecture/samsung/sam_1.html

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:18
posted:9/1/2011
language:Korean
pages:49