lowpower
Document Sample


반도체공학개론
집적회로 설계 기술 : 저전력 설계
전남대학교 김영철
반도체공학개론
학습 목적 및 목표
• 저전력 설계의 필요성과 더불어 현재 반도체
공정에서의 저전력 설계의 중요성을 인식
• 시스템, 알고리즘 및 구조, 소프트웨어, 로직
및 회로, 반도체 공정 측면에서의 저전력 설
계에 대한 기본적인 사항 및 동향 등을 이해
반도체공학개론
목차
저전력 시스템 필요성 및 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 speedhigh 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
Get documents about "