VOL. 205 JULY 2014 IDEC Newsletter l 통권 제205호 발행일 2014년 6월 30일 발행인 박인철 편집인 남병규 제 작 푸울디자인 기 획 전항기 전 화 042) 350-8535 팩 스 042) 350-8540 홈페이지 http://idec.or.kr E-mail jhg0929@idec.or.kr 발행처 반도체설계교육센터(IDEC) 반도체설계교육센터 사업은 미래창조과학부(산업통상자원부), 한국반도체산업협회, 반도체회사(삼성전자, SK하이닉스, 매그나칩 반도체, 동부하이텍, 앰코테크놀로지코리아, KEC, 에이티세미콘, TowerJazz)의 지원으로 수행되고 있습니다. VOL. 205 JULY 2014
VOL. 205 JULY 2014 MPW (Multi-Project Wafer) 2014년 MPW 진행 현황 공정 회차구분 (공정_년도순서) 모집팀수 ((mmxmm)x 칩수)/회별 정규모집 신청마감 참여팀수 ((mmxmm))x 칩수) DB 마감 (Tape-out) Die-out 비고 S65-1401 2013.12.09 (4x4)x20 2014.02.17 2014.08.18 제작중 삼성 65nm S65-1402 (4x4)x48 2014.02.03 (4x4)x33 2014.08.25 2015.02.27 설계중 매그나칩/ SK하이닉스 0.18μm S65-1403 2014.06.02 (4x4)x22 2014.12.15 2015.06.12 설계중 MS18-1401 2013.12.09 (3.8x3.8)x20 2014.02.24 2014.07.28 제작완료 MS18-1402 2014.01.06 (3.8x3.8)x25 2014.05.19 2014.10.20 제작중 (3.8x3.8)x25 MS18-1403 2014.02.03 (3.8x3.8)x25 2014.08.11 2015.01.12 설계중 MS18-1404 2014.05.05 (3.8x3.8)x24 (3.8x1.9)x2 2014.11.10 2015.04.13 설계중 매그나칩/ MS35-1401 2014.01.06 (5x4)x20 2014.06.16 2014.10.06 DB검토중 (5x4)x20 SK하이닉스0.35μm MS35-1402 2014.06.02 (5x4)x18 2014.12.01 2015.03.23 설계중 동부0.11μm 동부0.18μm BCD 동부0.35μm BCD D11-1401 (5x2.5)x24 2013.12.09 D11-1402 2014.04.07 D18-1401 2013.12.09 (5x2.5)x21 (2.35x2.35)x5 (5x2.5)x18 (2.35x2.35)x12 (5x2.5)x3 (2.35x2.35)x2 2014.04.02 2014.08.06 제작중 2014.10.01 2015.02.04 설계중 2014.03.27 2014.07.02 제작중 D18-1402 2013.12.09 (5x2.5)x4 2014.04.30 2014.08.06 DB검토중 (5x2.5)x4 (5x2.5)x2 D18-1403 2014.02.03 (2.35x2.35)x4 2014.08.13 2014.11.19 설계중 D18-1404 2014.05.05 (5x2.5)x3 (2.35x2.35)x2 2014.11.05 2015.02.11 설계중 D35-1401 2013.12.09 (5x2.5)x6 2014.02.19 2014.05.28 제작완료 (5x2.5)x2 D35-1402 2014.01.06 (2.35x2.35)x7 2014.05.28 2014.09.03 제작중 (5x2.5)x6 (5x2.5)x4 D35-1403 2014.03.03 (2.35x2.35)x4 2014.09.10 2014.12.17 설계중 D35-1404 2014.05.05 (5x5)x 5 (2.35x2.35)x2 2014.11.19 2015.02.25 설계중 TowerJazz TJB18-1401 (5x2.5)x 6 2014.01.06 (5x5)x 3 2014.05.12 2014.09.08 제작중 (5x2.5)x6 0.18μm BCD TJB18-1402 2014.04.07 (5x5)x 1 2014.10.20 2015.02.16 설계중 TowerJazz TJC18-1401 2014.01.06 (2.5x2.5)x4 2014.05.05 2014.09.01 제작중 0.18μm CIS TJC18-1402 (2.5x2.5)x4 2014.04.07 (2.5x2.5)x4 2014.10.13 2015.02.09 설계중 TowerJazz TJR18-1401 (2.5x2.5)x4 2014.01.06 (2.5x2.5)x4 2014.06.23 2014.10.20 DB검토중 (2.5x2.5)x4 0.18μm CA18HA TJR18-1402 2014.04.07 (2.5x2.5)x4 2014.10.20 2015.02.16 설계중 TowerJazz 0.18μmSiGe TJS18-1401 (2.5x2.5)x4 2013.12.09 (2.5x2.5)x4 2014.03.11 2014.07.08 제작중 일정은사정에따라 다소변경될수있음. 우선/정규모집은마감일2주전부터신청가능함 회차표기방법변경: 공정코드-년도모집순서( 예시) 삼성65nm 2014년1회차:S65-1401) Package 제작은Die out 이후1개월소요됨 동부와TowerJazz 공정은sub chip(5mmx2.5mm 또는2.35mmX2.35mm)으로 분리하여 모집 선정결과는모집마감 후15일이내개별통보됨 2014년 우선모집은 완료됨에 따라 일정에서 제외함 기준일: 2014.6. 27. 담당 : 이의숙 (042-350-4428, yslee@idec.or.kr) KAIST 개설 강좌 안내 센터명 강의일자 강의제목 분류 본센터 7월 3일-4일 디지털 신호처리를 위한 고성능 SoC 설계 설계강좌 7월 7일-8일 SoC Architecture 설계강좌 7월 14일-16일 센서 신호 처리용 아날로그 프론트엔드 설계 기법 설계강좌 7월 17일 DRAM의 기본 동작 및 구조 이해 설계강좌 7월 21일-25일 [IDEC연구원 교육] IDEC MPW 설계를 위한 교육 설계강좌 7월 31일-8월 1일 CPU-GPU Heterogeneous Computing 설계강좌 7월 7일 Mobile RF Transceiver Design 설계강좌 7월 8일-9일 Verilog HDL 기초와 실습 설계강좌 7월 10일-11일 Verilog HDL 이론 및 응용 설계강좌 7월 21일-23일` Full-custom 설계 입문 설계강좌 7월 23일-25일 스마트기기를 위한 Linux 기반 디바이스 드라이버 개발 설계강좌 7월 1일-2일 CMOS 소자 및 공정 설계강좌 7월 8일-10일 CMOS Analog 회로설계 설계강좌 7월 15일-17일 Full Custom IC 설계 설계강좌 7월 22일-24일 Verilog 언어를 이용한 Digital System 설계 설계강좌 7월 1일-3일 Verilog HDL 설계의 기초 설계강좌 7월 7일-9일 CMOS 집적회로 설계 기초 설계강좌 7월 16일-18일 아날로그 집적회로 설계 및 실습 설계강좌 7월 23일 Verilog 설계 언어 초급 설계강좌 강좌일 : 7월 3일-4일 강좌 제목 : 디지털 신호처리를 위한 고성능 SoC 설계 강사 : 박성정 교수 (건국대학교) 강좌개요 통신 및 영상 분야에서 널리 활용되는 FFT (Fast Fourier Transform), 디지털 필터 등의 디지털 신호처리용 SoC의 알고리즘, 아키텍처 및 회로 수준의 설계 및 최적화를 이해하고 설계 실습을 통해 이를 확인한다. 특히 신호 대 잡음 비, 처리 속도 등의 성능 지표와 소모 전력, 하드웨어 면적 등의 복잡도 지표를 이해하고 이들 간의 타협 (Trade-off)을 이해한다. 설계 실습은 C++ 기반 고정 소수점 상위 설계와 Verilog HDL 기반 RTL 설계, 합성 및 검증을 포함한다. 수강대상 대학원생 강의수준 중급 강의형태 이론+실습 사전지식, 선수과목 디지털 신호처리, 논리회로, 프로그래밍 실습 (C++), 디지털 회로 실습 (Verilog HDL) 2014년 7월 교육프로그램 안내 수강을 원하는 분은 IDEC홈페이지(www.idec.or.kr)를 방문하여 신청하시기 바랍니다. 본센터 경븍대 IPC 광운대 부산대 성균관대 한양대 강좌일 : 7월 7일-8일 강좌제목 : SoC Architecture 강사 : 한태희 교수 (성균관대학교) 강좌개요 이종 멀티 코어 SoC (Heterogeneous Multicore SoC) 설계에 필요 한 메모리 계층 구조 및 인터페이스, ARM/AMBA를 기본으로 한 멀티코어 CPU 및 버스/온칩네트워크 구조에 대해 이해한다 수강대상 SoC 전공 석박사 과정 강의수준 중/고급 강의형태 이론 사전지식, 선수과목 디지털시스템, 컴퓨터구조, 집적회로(VLSI 설계) 강좌일 : 7월 14일-16일 강좌 제목 : 센서 신호 처리용 아날로그 프론트엔드 설계 기법 강사 : 고형호 교수 (충남대학교) 강좌개요 본 강좌에서는 센서 신호 처리용 인터페이스 회로를 설계하기 위하 여 저항형/용량형 센서의 모델링 기법, 저잡음 아날로그 프론트엔드 회로, 산포 보정을 위한 교정 회로 등을 강의/실습함으로써, 실제 센서의 신호 처리에 필요 한 회로 설계 능력을 배가하는데 목적을 둔다. 수강대상 센서 신호 처리용 회로 설계 관련 대학원생/산업체 실무자 강의수준 중급 강의형태 이론+실습 사전지식, 선수과목 기초 아날로그 회로 설계 지식, Cadence tool (schematic 및 spectre) 기본 사용법 강좌일 : 7월 17일 강좌 제목 : DRAM의 기본 동작 및 구조 이해 강사 : 고태영 수석 (삼성전자) 강좌개요 전반부에 DRAM을 구성하는 Hardware, Software & Power Design과 주요 기본 동작에 대해 언급하고, 하반기에 DRAM Cell 구조 및 BL S/A 그리고 DRAM 최신 SPEC과 TEST로 구성되어 있다. 수강대상 관련학과 대학원생/학부생 강의수준 초급 강의형태 이론 강좌일 : 7월 21일-25일 강좌제목 : [IDEC연구원 교육] IDEC MPW 설계를 위한 교육 강사 : 유은광, 선혜승, 김연태 연구원 (IDEC) 강좌개요 본 강의는 MPW 참여시 Cell based 디자인을 하는 사람들에게 기 본적이고 직관적인 지식을 전달하는 것을 목표로 한다. RTL 소스로 구현된 SoC 플랫폼을 가지고 FPGA 스펙 구성부터 MPW DB Tape out 까지의 모든 과정 을 이론과 실습으로 다룬다. 또한 실제 사용하고 있는 DK 를 사용하기 때문에 칩을 만들고자 하는 사람들에게 매우 유용할 것이다. 수강대상 칩 설계를 수행하는 학부생 및 대학원생 강의수준 중급 강의형태 이론+실습 사전지식, 선수과목 디지털 회로 설계, 마이크로 프로세서, 컴퓨터 구조, VLSI 설 계, FPGA 설계 02 03
VOL. 205 JULY 2014 2014년 7월 교육프로그램 안내 강좌일 : 2014년 7월 1일 ~ 2014년 7월 2일 강좌 제목 : CMOS 소자 및 공정 강사 : 소자 - 최혁환 교수(부경대학교), 공정 - 이용재 교수(동의대학교) 강좌일 : 7월 1일-3일 강좌 제목 : Verilog HDL 설계의 기초 강사 : 김종태 교수 (성균관대학교) 수강을 원하는 분은 IDEC홈페이지(www.idec.or.kr)를 방문하여 신청하시기 바랍니다. 강좌일 : 7월 31일- 8월 1일 강좌 제목 : CPU-GPU Heterogeneous Computing 강사 : 장병현 교수 (IDEC) 강좌개요 본 강의는 MPW 참여시 Cell based 디자인을 하는 사람들에게 기 본적이고 직관적인 지식을 전달하는 것을 목표로 한다. RTL 소스로 구현된 SoC 플랫폼을 가지고 FPGA 스펙 구성부터 MPW DB Tape out 까지의 모든 과정 을 이론과 실습으로 다룬다. 또한 실제 사용하고 있는 DK 를 사용하기 때문에 칩을 만들고자 하는 사람들에게 매우 유용할 것이다. 수강대상 대학원, 대학원생, 직장인 강의수준 중급 강의형태 이론 사전지식, 선수과목 기초적인 C 프로그래밍 필요, 기초적인 병렬 프로그래밍 경 험이나 기본적인 하드웨어 구조 배경지식이 있으면 이해에 크게 도움 문의 : KAIST IDEC 구재희 (042-350-8536, kjh9@idec.or.kr) 강좌일 : 7월 7일 강좌 제목 : Mobile RF Transceiver Design 강사 : 김관우 박사 (Qualcomm) 강좌개요 Mobile phone industry is still booming. There are hundreds of smart phones and tablets at the markets. Although they look different on design, their fundamental functions (like OS, LTE, Wireless LAN, Bluetooth and so on) are very similar from the technical point of view. This means many smart phones have similar architecture and share the core ICs (Integrated circuits), such as AP (Application processor), Modem, and RF transceivers. In other words, there are lots of smart phone brands, but there exist only a few venders who can design and supply those core ICs worldwide. This makes IC industry very promising and competitive circuit design is one of the key elements in the mobile industry. In this seminar, the presenter will show the architecture and critical analog/rf ICs of the latest smart phones. He will also discuss about the basic principle of CMOS (Complementary Metal-oxidesemiconductor) technology, which is the fundamental of analog/rf IC design, and design methodology of industry based on his 5+ years of design experiences at Qualcomm. His IC designs (Cellular, Wireless LAN, BT and FM) have been adopted in more than 300 smart phones and also hundreds of millions of units have been sold worldwide. 수강대상 전자공학관련 학부생 및 대학원생 강의수준 중급 강의형태 이론 문의 : 경북대 IPC 변보련 (053-950-6858, ipc-mobile@ee.knu.ac.kr) 강좌일 : 7월 8일-9일 강좌 제목 : Verilog HDL 기초와 실습 강사 : 조경순 교수 (한국외국어대학교) 강좌개요 시스템 IC 분야에서 가장 널리 사용하는 하드웨어기술언어 Verilog HDL에 대한 기초와 이를 응용하여 회로를 설계하는 기법을 강의한다. 1995년 IEEE 1364-1995로 표준화된 Verilog HDL은 시스템 IC 설계 방법론의 가장 핵 심적인 요소이다. Verilog HDL의 기초적인 문장에 대한 강의를 하고, synthesis를 고려한 코딩 기법에 대하여 강의한다. 기초 실습으로서 여러 가지 하드웨 어 구성 요소에 대한 설계를 simulation 및 synthesis 실습을 통하여 진행한다. 수강대상 일반인 / 대학원생 강의수준 기초 강의형태 이론 / 설계 사전지식, 선수과목 디지털 논리 회로 강좌일 : 7월 10일-11일 강좌 제목 : Verilog HDL 이론 및 응용 강사 : 조경순 교수 (한국외국어대학교) 강좌개요 시스템 IC 분야에서 가장 널리 사용하는 하드웨어기술언어 Verilog HDL에 대한 이론과 이를 응용하여 회로를 설계하는 기법을 강의한다. Verilog HDL의 기본적인 문장들에 대해 살펴본 다음, 심화 내용으로서 non-determinism, non-blocking assignment 등을 concurrent process, simulation timing model과 같은 이론을 바탕으로 설명한다. 설계 실습으로서 영상압축 표준 JPEG의 DCT 모듈을 Verilog HDL을 이용하여 설계하고 검증한다. 수강대상 일반인 / 대학원생 강의수준 중급 강의형태 이론 / 설계 사전지식, 선수과목 Verilog HDL 기초와 실습 강좌일 : 7월 21일-23일 강좌 제목 : Full-custom 설계 입문 강사 : 민경식 교수 (국민대학교) 강좌개요 CMOS 회로 설계 tool을 이용한 CMOS 스케매틱 및 레이아웃 설계 방법을 배운다. 이를 위해 Cadence Schematic Editor, Cadence Spectre, Cadence Layout Tool, Mentor DRC/LVS Tool의 사용법을 배우고 이를 사용 한 스케매틱 설계 및 검증, 레이아웃 및 레이아웃 검증에 관한 실습을 수행한다. 수강대상 일반인 / 대학원생 강의수준 초급 강의형태 이론 / 설계 사전지식, 선수과목 1) 집적회로설계 2) 집적회로공정 3) 반도체소자 강좌일 : 7월 23일-25일 강좌 제목 : 스마트기기를 위한 Linux 기반 디바이스 드라이버 개발 강사 : 이광엽 교수 (서경대학교) 강좌개요 스마트 TV를 비롯한 스마트 단말기기에서 주변하드웨어 장치를 확 장하기 위해서는 구동 소프트웨어와 원활하게 동작하도록 해당 하드웨어 장치 의 디바이스 드라이브 개발이 필수적으로 요구된다. 본 강의에서는 Linux기반 에서 스마트 단말기기의 주변장치의 디바이스 드라이버를 개발하고 응용할 수 있는 능력을 배양한다. 수강대상 일반인 / 대학원생 강의수준 초급 강의형태 이론 / 설계 사전지식, 선수과목 C언어, Linux 문의 : 광운대학교 IDEC 손지희 (02-940-5448, smartipc@kw.ac.kr) 강좌개요 LSI는 transistor라는 하나의 소자에서 출발하여 수 억 개의 transistor가 integration 되어 만들어진다. VLSI를 설계하기 위해서는 transistor의 동작과 제조공정을 정확하게 이해해야 한다. 대학의 반도체 소자과목은 양자역 학에 출발하여 다양한 소자의 구조와 동작 특성을 다루지만 제조공정에 대해서 는 깊이 있게 다루지 않는다. 본 강좌는 칩 설계자를 위해서 필요한 CMOS 소 자와 제조공정에 관한 지식을 다룬다. 수강대상 2학년 수료자 강의수준 초급 강의형태 이론+실습 사전지식, 선수과목 2학년과정 과목 강좌일 : 2014년 7월 8일 ~ 2014년 7월 10일 강좌 제목 : CMOS Analog 회로설계 강사 : 최영식 교수(부경대학교), 박주성 교수(부산대학교) 강좌개요 CMOS 및 전자회로에 대한 기본적인 이해를 돕기 위하여 만들어진 코스이다. 대부분의 대학에서 증폭기를 만드는 실험을 하지만 파형의 왜곡이 왜 생기고 그것을 어떻게 해결하는가를 설명하지 않는 경향이 있다. 본 강좌에서는 소자의 동작원리에서부터 왜곡의 원인과 해결책, 이득 결정 방법 등을 손으로 설계해보고 HSPICE를 이용하여 검증하여 체험적으로 이해하도록 할 계획이다. 수강대상 2학년 수료자, 아날로그 설계 초보자 강의수준 초급 강의형태 이론+실습 사전지식, 선수과목 전기회로, 전자회로 1 강좌일 : 2014년 7월 15일 ~ 2014년 7월 17일 강좌 제목 : Full Custom IC 설계 강사 : 최진호 교수(부산외국어대학교) 강좌개요 Full custom layout을 위한 다음과 같은 기본 적인 사항을 다룬다. CMOS 공정 및 Design Rule MOS 트랜지스터의 동작 Inverter, NAND, NOR 등 디지털 게이트의 동작 및 layout HPICE, CADENCE 툴 사용법 및 실습 수강대상 대학교 2, 3학년 강의수준 초급 ~ 중급 강의형태 이론+실습 사전지식, 선수과목 논리회로 강좌일 : 2014년 7월 22일 ~ 2014년 7월 24일 강좌 제목 : Verilog 언어를 이용한 Digital System 설계 강사 : 강봉순 교수(동아대학교) 강좌개요 디지털 하드웨어 설계의 국제 표준언어인 Verilog HDL의 기초이론 과 응용에 대하여 학습한다. 습득한 이론을 바탕으로 기능 블록을 설계하고, 최 종적으로 디지털 전자시계의 전체 기능을 Verilog HDL을 이용하여 설계한 후 에 Training Kit에 Download 하여 기능을 확인한다. 수강대상 2학년 수료자, 디지털논리회로 설계 초보자 강의수준 중급 강의형태 이론+실습 사전지식, 선수과목 논리회로 문의 : 부산대 IDEC 윤성심, 지화준 (051-510-2828, idec@pusan.ac.kr) 강좌개요 디지털 VLSI시스템 설계를 위한 표준언어 중 하나인 Verilog Hardware Description Language의 기본적인 문법과 구성 요소를 소개한다. 실습 시간에는 Verilog HDL을 이용하여 다양한 조합회로와 순차회로를 설계하고 합 성한 결과를 시뮬레이션 Tool을 이용하여 검증한다. 기초적인 Verilog 코딩 방 법과 테스트벤치 작성에 대한 강의도 병행한다. 수강대상 대학교 3, 4학년 학부생 강의수준 초급 강의형태 강의 및 실습 사전지식, 선수과목 논리회로 강좌일 : 7월 7일-9일 강좌 제목 : CMOS 집적회로 설계 기초 강사 : 이강윤 교수 (성균관대학교) 강좌개요 Full Custom 설계를 위한 기초 입문 교육으로서 Cadence Tool을 이용한 Schematic Level 설계 및 모의 실험 방법등에 대해서 강의를 한다. 수강대상 학부 3, 4학년, 대학원생, 산업체 연구원 강의수준 초급 강의형태 이론 + 실습 사전지식, 선수과목 회로이론, 전자회로 1 강좌일 : 7월 16일-18일 강좌 제목 : 아날로그 집적회로 설계 및 실습 강사 : 이강윤 교수 (성균관대학교) 강좌개요 아날로그 증폭기 및 Op-Amp 의 이론을 배우고 실습을 통해서 특 성을 파악한다. 수강대상 학부 4학년, 대학원생, 산업체 연구원 강의수준 초급 강의형태 이론 + 실습 사전지식, 선수과목 회로이론, 전자회로 1, 2 문의 : 성균관대 IDEC 캠퍼스 이강윤 교수 (031-299-4954, klee@skku.edu) 강좌일 : 2014.7.23 강좌 제목 : Verilog 설계 언어 초급 강사 : 송재훈 박사 강좌개요 Verilog HDL은 업계표준으로 널리 사용되고 있는 범용 하드웨어 기 술 언어이다. 설계의 규모가 점점 대형화되고, 따라서 요약된 설계 기술 표현이 요구되는 상황에서 Verilog는 필수 설계언어로 인식되고 있다. 본 강좌를 통해 Verilog 언어에 대한 이해와 회로합성 (synthesis) 측면에 기초한 올바른 RTL 코딩 기술 방법 및 설계 가이드라인에 대해 다룸으로써 효과적인 설계를 할 수 있도록 이론과 실습수업을 병행 하도록 한다. 수강대상 일반인, 학생 강의형태 이론 / 실습 문의 : 한양대 IDEC 오경주 (031-400-4079 / 5017, ipc@hanyang.ac.kr) 04 05
IDEC inside 1 / IDEC 논단 메모리 반도체 강국의 시스템 반도체 우리는 지금 ICT (Information and Communication Technology) 혁명의 시대에 살고 있습니다. 몇 해 전만 해도 미래의 이 앞서의 에피소드를 참고해서 상황을 정리하면 아래와 같이 정리될 것 같습니다. 야기였던 Cloud는 이미 현실이 됐으며 사람들은 이제 머지않아 IoT의 시대가 도래할 것을 이야기하고 있습니다. 이처럼 ICT 혁명은 아직도 역동적 으로 진행 중이며 그 핵심에 Computing Technology의 발전과 이를 견인해 온 반도체 산업이 있습니다. Von Neumann Architecture에 근거한 메모리 반도체의 경우 국제 표준 규격이 잘 갖춰져 있어 소품종 대량생산이라는 단순한 사업 구조로 사업 역량을 갖추기가 용이한 특징을 가지 Computing Technology의 핵심 부품은 CPU와 메모리이며 이들 부품의 지속적인 Scaling을 통해 반도체 산업이 기하급수적으로 성장해 갈 것이 고 있으며 대규모 투자와 치열한 경쟁을 통해 제조 기술 역량을 갖춘 우리나라의 기업들이 성공 히스토리를 만들 수 있었습니다. 라는 통찰력과 의지가 Moore s Law에 담겨 있습니다. 놀랍게도 반도체 산업은 50년 가까이 Moore의 예측에서 크게 벗어나지 않는 속도로 성장 해 전지구적인 거대 산업이 됐으며 우리 나라도 30년 여의 반도체 역사를 거치며 그 한 축인 메모리 반도체 산업의 강국으로 확고하게 자리 잡게 되 었습니다. 그러나 많은 관심과 투자에도 불구하고 CPU를 포함한 시스템 반도체 산업에서는 고전을 면치 못 하고 있으며, 그 배경에는 뭔가 이유가 있을 것입니다. CPU (그리고 AP) 사업의 경우 소품종 대량 생산이라는 점에서 메모리 반도체 사업과 크게 다르지 않으나, CPU의 기술적/구조적 측면에서의 역할 특징이 생태계 전반을 리드하는 분야이므로 사업적인 진입장벽이 높을 뿐 아니라 Computing System 전반의 아키텍처를 바탕으로 한 설계 기술도 그 역량을 갖추기가 쉽지 않은 상황입니다. Foundry 사업의 경우 제조 기술 역량의 확보는 상대적으로 용이할 것이나 다품종 소량 생산에 필요한 영업, 마케팅, 고객과의 기술적 인터페 몇 해 전 유럽에 있는 시스템 반도체 회사를 방문한 적이 있습니다. 당시 이 회사는 메모리 사업을 Spin-Off 한지 얼마 되지 않았던 시점이었으며, 메모리 반도체 사업과 시스템 반도체 사업의 차이에 대해 다음과 같이 이야기 하였습니다. 만약 메모리반도체 회사가 시스템 반도체 사업을 시작 하길 원한다면 차라리 새로운 회사를 만드는 것이 더 나을 것이다. 메모리 반도체 사업과 시스템 반도체 사업은 확연히 다르기 때문이다. 단지 기술 이 다르다는 점을 넘어 사업 자체의 성격이 다른데, 메모리 반도체 사업이 제품을 개발해서 단기간에 대량 생산하여 판매하고 다시 그 다음 세대 제 품으로 재빨리 넘어가는 것이 특징이라면, 시스템 반도체 사업은 한번 제품을 개발하면 인증 기간이 길고 장기간의 소량 생산이 특징이라 그 사업을 수용할 수 있는 기업의 문화가 정말 달라야 하기 때문이다. 메모리 반도체 사업과 시스템 반도체 사업을 두루 경험해 보고 나온 견해라는 생각에 당시 고개를 끄덕이며 수긍했던 기억이 납니다. 여기서 지칭되는 시스템 반도체는 CPU (혹은 AP)를 얘기하는 것은 아닐 것입니다. 아마도 CIS, ASP, DSP 등과 같은 시스템 반도체를 의미할 것입니다. 사실 CPU 사업의 성격은 새로운 제품을 개발해 대량으로 팔고 다시 차 세대 제품을 개발 해 팔아야 한다는 의미에서 메모리 반도체의 사업적 성격과 크게 다르지 않습니다. 그렇기 때문에 시스템 반도체 사업이 성공적이지 못했던 이유가 사업 자체의 특성 차이 뿐만은 아니며, 기술, 제품, 마케팅 역량과 생태계 환경 또한 많은 영향을 미쳐 왔을 것입니다. 또 몇 해 전에는 미국 거대 IT 기업의 기술을 총괄하시는 분과 만나 얘기를 나눈 적이 있습니다. 이 분은 현재 몸담고 계신 회사가 지금은 Logic 기 술 개발과 Foundry 사업만을 하고 있지만 과거에 DRAM 사업을 했던 전력이 있어 메모리 반도체와 시스템 반도체 기술과 사업의 차이에 대해 잘 이해하고 계시며 또한 대만 출신이라 대만의 Foundry 사업에 대한 이해도 높으십니다. 당시 한국 메모리 기업의 Foundry 사업 진출 얘기가 한창 이스, 기술 서비스 등 다양한 사업 역량을 갖추기는 쉽지 않을 것입니다. Fab-less 사업의 경우 (앞에서 다룬 바는 없으나) 시장이 요구하는 가치를 발견하고 이에 맞는 상품을 기획하는 것이 선행되어야 하며 이것을 구체적인 제품으로 실현할 수 있는 기술 역량이 뒷받침되어야 합니다. 즉, 성공적인 사업이 되기 위해서는 사업에 대한 통찰력이 필요한데 이는 고 객/시장/기술 그리고 생태계의 생리에 대한 깊은 이해가 전제되어야 합니다. 이렇게 정리하고 보면 다양한 고객 대응 능력 부족과 사업적 통찰력 부족 그리고 생태계 리드 역량 부족으로 (상대적으로 그런 역량의 필요성이 적 은) 메모리 반도체 외에는 성공적으로 사업을 전개해 나가기 힘든 것이 아닌가 하는 생각이 듭니다. 결국 이러한 역량을 어떻게 갖추어 나갈 것인 가가 시스템 반도체 사업을 성공적으로 해 나갈 수 있는 관건일 것이나 그리 쉽게 단기간에 극복될 수 있는 것들은 아닌 것 같습니다. 성공적인 Foundry 사업을 위해서는 공정 기술력을 갖춰 가는 것과 함께 선두 기업의 고객 대응 역량을 벤치마킹 해서 자체 역량으로 키워 가야 하고 성공 적인 Fab-less 사업을 위해서는 Fab-less 사업이 활성화된 외국에서의 공식, 비공식적 Community 활동을 통해 사업적 통찰력을 키워가야 할 것이며 궁극적으로 CPU나 AP 사업을 제대로 하기 위해서는 IT 산업 전반에서 활동의 양을 늘이고 기여 수준을 높여 생태계를 리드할 수 있는 역 량을 발휘해야 할 것으로 생각됩니다. 그리 멀지 않은 미래에 시스템 반도체 분야의 사업적 역량을 갖추어 기술적 잠재력이 활짝 꽃피게 될 날을 기대해 봅니다. 일 때라 자연스럽게 이 분의 Foundry 사업에 대한 얘기를 듣게 됐는데 자기 생각으로는 한국 메모리 기업의 Foundry 사업 성공 가능성이 높아 보 이며, 그 이유는 DRAM 공정 기술이 Logic 기술에 비해 (특히 양산성의 확보라는 측면에서) 난이도가 높아 양산성 있는 Logic 기술을 확보하는 데 큰 어려움이 없을 것이기 때문이라는 점이었습니다. 당시 이 분의 의견이 너무 낙관적인 것이 아닌가 생각했지만 그로부터 몇 해가 지난 지금, 차세 대 Logic 양산 공정 기술의 확보라는 측면에서 한국이 분명하게 상대적 우위를 점하고 있는 상황을 보며 이 분의 예측이 크게 틀리지는 않았다는 생 외부 필진 기고의 논조는 IDEC 방향과 다를 수 있습니다. 각을 합니다. 그렇지만 비록 공정 기술이 우위에 있어도 Foundry 사업 자체는 그리 성공적이지 못한 모습을 보이고 있는데 역시 기술적인 역량 보 다는 사업적인 역량의 문제가 아닌가 생각됩니다. AP Foundry와 같이 부침이 있기는 하나 어느 정도 성공적이었던 사례도 있었으나 이는 앞서 언 급한 내용과 같이 AP 사업 자체가 메모리 반도체 사업의 특징과 크게 다르지 않기 때문이라 생각할 수 있습니다. 그러나 기타 시스템 반도체의 경우 홍 성 주 전무 SK하이닉스 DRAM개발본부장 다수의 고객으로부터 다양한 주문을 받아 소량으로 오랫동안 생산해 줘야 하는데 다수의 고객의 다양한 요구를 제대로 수용하기에는 우리 기업들의 기술 마케팅과 사후 지원에 있어 인력과 역량이 부족하지 않은가 하는 생각이 듭니다. 06 ㅣ 메모리 반도체 강국의 시스템 반도체 IDEC 논단 ㅣ 07
IDEC inside 2 / 기술동향칼럼 1 기존의 보안 모니터 기술 최근 이런 추세에 따라 단말 시스템의 보안성을 강화하는 연구가 소프트웨어 및 하드웨어 기반으로 활발하게 진행되고 있다. 1) 소프트웨어 기반 보안 모니터 시스템 보안 강화를 위한 SoC 수준 하드웨어 모니터 기술 기 술 동 향 칼 럼 점점 많은 단말이 인터넷에 연결되면서, 그림 1과 2에서처럼 세계 적으로 다양한 목적을 가진 사이버 공격들이 증가하고 있으며, 그 예로 세계 14개 국가의 70개 글로벌 기업들과 정부 기관들, 그리고 비이익 단체를 대상으로 2006년부터 2011년까지 5년간 지속된 Operation Shady, Google과 Adobe를 포함한 글로벌 기업들을 대상으로 한 Operation Aurora 등이 있다. 우리나라도 이러한 사 이버 공격으로부터 예외일 수는 없다. 한 예로, 2009년과 2011년 에는 국내의 각종 웹사이트를 대상으로 한 서비스 거부 공격인 DDoS (Distributed Denial of Service)공격이 대규모로 발생했다. 특히, 현대 경제 연구원 조사로는 2009년에 발생한 7.7 DDoS 공 격의 경우 금전적 피해 규모가 최소 363억 원에서 최대 544억 원 에 이른다고 한다. 그림1. 지난 10년간의 악성코드 추이 (악성코드 분석 특집, ASEC 리포트, 2012년 Col.35,) 08 ㅣ 시스템 보안 강화를 위한 SoC 수준 하드웨어 모니터 기술 일반적으로 소프트웨어 기반의 연구들은 응용 프로그램들의 취약 성을 이용하는 공격들을 탐지하기 위해 감시할 대상 응용프로그램 이나 OS 계층 혹은 그 이하 계층에서 보안 감시를 수행하는 백신 이나 침입 탐지 장치(Intrusion Detection System) 등과 같은 소 프트웨어 기반 보안 모니터 (Software-based Security Monitor) 로 존재해 왔다. 이러한 소프트웨어 기반 모니터들은 기본적으로 호스트 CPU의 하드웨어 내부는 전혀 수정하지 않고 소프트웨어만 을 이용해서 보안성을 강화했기 때문에 범용으로 사용되는 호스트 에 쉽게 탑재되어 사용될 수 있고 새로운 보안 위협이 나올 때마다 소프트웨어 업데이트라는 간단한 방법에 의해 유연하게 대처함으 로써 그 보안 위협들을 손쉽게 막을 수 있는 장점이 있다. 초기의 소프트웨어 기반 모니터는 응용 프로그램 혹은 OS 커널 수 준에서 수행되면서 해당 OS 커널이 제공하는 여러 서비스를 이용 하여 구현되어있다. 즉, 감시를 위해 필요한 정보들을 OS에서 얻기 때문에 OS 커널이 전달하는 정보들을 신뢰하기 위해서는 OS 커널 의 무결성이 전제되어야 한다. 하지만 최근 OS 커널 자체의 취약 점을 공격함으로써 다른 악성코드가 특권모드 (Privileged mode) 에서 실행되도록 커널 자체를 변조해 커널이 소프트웨어 기반 보안 솔루션에게 정확한 서비스를 제공하지 못하도록 하는 루트킷 (Rootkit)이라는 악성코드들이 널리 퍼져 있는데, 이러한 루트킷에 의해 커널이 감염(compromise)된 상황을 가정할 경우, 소프트웨 어 기반 모니터들의 보안 감시 기능이 정상적이라는 것을 보증할 수 없게 된다. 그림2. Android 악성코드 추이 McAfee (McAfee Threats Report: Third Quarter 2012) 이처럼 사이버 공격이 일단 발생하면, 그에 따른 금전적, 정치적 손 실이 상당하기 때문에, 공격을 막기 위한 적절한 대응책을 마련할 필요가 있다. 이러한 공격들에는 일반적으로 공격자의 악성코드에 기 감염된 일반 사용자의 단말들(PC, 스마트폰 등)이 사용되므로 그 출발점은 사용자 단말에 대한 악성코드(malware)의 유포 및 감 염이라고 할 수 있다. 많은 경우, 네트워크를 통한 이런 무차별적 공격의 중간 경유지 역할을 하거나 직접 공격에 동원될 좀비 단말 (악성코드에 기 감염된 단말)들이 확보된 후에는 사실상 해당 단말 의 소유자가 공격하는 것과 마찬가지이기 때문에 공격을 막거나 공 격을 받은 후 공격자를 찾아내기가 매우 힘들다. 즉, 사이버 공격을 근본적으로 막아내기 위해서는 일반 시스템들에서 권한이 없는 악 성코드에 의한 시스템 내부 장치나 자원들(메모리, 파일, 폴더 등) 의 무단 접근 및 사용을 제한하여 보호하는 등의 방법으로 시스템 보안(System Security)을 강화할 필요성이 절실하다. 루트킷 문제를 해결하기 위해 OS 커널보다 더 높은 특권을 갖는 모니터에 대한 필요성이 대두하였는데, 마침 2000년대 초반부터 Xen이나 KVM (Kernel Virtual Machine)과 같은 VMM (Virtual Machine Manager)이 본격 대중화되면서 이를 활용하기 위한 여 러 시도가 본격적으로 진행되었다. 가상화 시스템에서는 VMM이 제공하는 환경에서 OS들이 VM(Virtual Machine)의 형태로 구동 되는데, 여러 VM들이 메모리나 네트워크 같은 하드웨어 자원들을 공유해야 하기 때문에, VMM은 VM들, 즉 OS 커널들보다 더 높은 특권을 가지고 VM들이 서로 사용하려는 공유 자원들이 충돌하는 것을 막아주어야 한다. 이를 위해 VM이 하드웨어 자원에 접근해야 하는 경우 VMM이 그 요청을 처리해 주는 하이퍼콜(hypercall)이 나, 정책에 어긋나는 시도를 막는 트랩(trap)의 형태로 그 과정에 개입하여 전체 시스템을 관리한다. 이렇게 여러 OS를 관리하기 위 해 VMM에는 OS 커널보다 더 높은 특수 권한을 부여받는데, VMM 의 이런 권한을 이용해 구현된 모니터는 그림 3에서와같이, 루트킷 을 포함한 다양한 악성코드로부터 자신을 보호하면서 OS와 그 안 에서 수행하는 각종 코드의 행위를 외부에서 감시할 수 있다. 이렇 게 함으로써 이들 모니터가 분명 기존 소프트웨어 기반 모니터들 대비 루트킷에 대한 공격에 더 안전하게 된 것은 사실이다. 그러나 비록 OS 커널에 비해 훨씬 어렵긴 하지만 VMM도 소프트웨어로 구현되었기 때문에 악성코드에 감염될 수 있다는 문제가 있으며, 그 가능성이 최근 연구에서 증명되었다. 그림3. Xen 기반 무결성 모니터 개념도 앞에서 언급한 소프트웨어 기반 모니터들의 또 하나의 중요한 문제 점은, 호스트 시스템에 대한 성능 부하이다. 사실상 모든 소프트웨 어 기반 모니터들은 감시 대상 응용들과 같은 호스트 시스템의 하 드웨어 자원 (메모리, CPU 등)을 공유하도록 설계했기 때문에 이 들 모니터를 운영할 경우, 그렇지 않은 경우에 비해 감시 대상 응 용들을 포함한 전체 시스템에 상당한 성능 감소를 가져오는 문제를 발생시킨다. 특히 이런 성능 저하는 모바일 기기들에서 더욱 심각 하게 나타나는데, 그림 4에 보이는 최근 한 조사에 따르면, 이러한 감시 도구들이 전체 시스템에 평균 30%의 성능 부하를 유발하는 것으로 나타나 있으며, 이 때문에 상당한 전력소모까지 일으켜서 고급 보안 솔루션들이 적극적으로 모바일 기기상에서 사용되는 것 을 저해하는 원인이 되고 있다. 오늘날 스마트폰 및 태블릿 같은 다 양한 모바일 기기들의 보급으로 그림 2에서 보듯이 모바일 플랫폼 을 공격하는 악성코드들이 급속히 증가하면서 이들에 대한 보안의 중요성이 날로 중요해지고 있다는 점에서, 기존 호스트 시스템의 자원을 공유한 모니터링 기법을 이용한 보안 솔루션들이 발생시키 는 이러한 성능 문제를 극복해야 할 필요성이 점점 더해지고 있다 고 할 수 있다. 그림4. 주요 모바일 백신이 유발하는 성능부하 (%) (www.av-test.org, June 2011) Trend of technology ㅣ 09
2) 하드웨어를 이용한 기존 시스템 보안 기술들 기존 소프트웨어 기반 연구들의 문제점이었던 안전성과 성능 문제 는 하드웨어를 사용한 독립적인 실행 환경 제공과 가속을 통해 어 느 정도 해결될 수 있다. 하지만 지금까지 대부분 하드웨어와 보안 이슈를 연결시키려는 연구들은 시스템 전체에 대한 적극적인 보안 감시를 목적으로 하지는 않았다. 대부분의 보안 하드웨어 연구 개 발은 크게 세 가지로 분류할 수 있다. 기밀성을 요구하는 데이터의 유출 방지를 위한 암호화(Encryption) 연산 가속 장치 보안이 필요한 데이터 연산에 대한 안전 정보 처리(Secure Transaction)를 보장하도록 일반 정보 처리(Normal Transaction)와 격리(Isolation)하는 장치 특정 악성 행위로부터 시스템을 방어(Protection)하는 특수 내 부 장치 암호화 관련 시도들은 이미 많이 있었는데, 대표적인 예로는 암호 화의 안정성과 성능 개선을 위해 Intel vpro에 포함된 AES (Advanced Encryption Standard) 가속 기능과 같은 암호화 전문 하 드웨어가 있다. 안전한 정보 처리와 일반 정보 처리를 격리하는 장 치들의 예로는 TPM(Trusted Platform Module), ARM TurstZone, Intel SGX(Software Guard Extension) 등이 있는데, 이들은 약간 의 방법과 구현의 차이가 있지만, 전반적으로 CPU내에 특수 하드 웨어를 추가하여 이들 정보 처리를 격리하여 보안성을 향상하는 방 법을 택한다는 면에서 비슷한 성격을 가지고 있다. 이들은 보안성 향상을 통해 시스템을 보호한다는 면에서, 위에서 소개되었던 소프 트웨어 기반 보안 모니터와 같은 목표를 가지고 있다. 하지만 이들 은 데이터 암호화나 중요 시스템 격리를 통한 소극적 의미에서의 악성 코드 공격에서 시스템을 보호하는 것에 목표를 두고 있다. 반 면 보안 모니터들의 감시 기능의 목적은 적극적으로 악성 코드를 탐지하여 공격에 대응한다는 점에서 분명한 차이를 보인다. 비유한 다면, 전자는 안전한 금고를 두어 중요 자원을 외부로부터 보호하 는 것이라면, 후자는 경비원을 두어 외부 침입을 탐지해서 시스템 을 안전하게 유지하는 것과 비슷하다. 보안 기능을 위한 하드웨어를 CPU 내부에 집적하는 연구 중에는 특정 악성 행위 발생을 하드웨어 수준에서 억제해서 시스템을 보호 하려는 노력이 있는데 대표적인 예로는 소프트웨어 취약점인 버퍼 오버플로우 (buffer overflow)를 방지하기 위한 하드웨어 기술이 있다. 또한, 소프트웨어 스택(stack)에 저장된 리턴 주소 (return address)를 변조하여 실행 흐름을 조작하는 ROP (return oriented programming)을 막기 위한 하드웨어 기술 연구도 이런 형 태의 노력으로 볼 수 있다. 알려져 있는 취약점을 하드웨어를 통해 보완해서 특정 공격에 대한 방어가 목적이라서 이들 역시 소극적 의미 시스템 보안 기술들이라고 할 수 있다. 각각 해결하고자 하는 보안 문제들에 한해서는 효과적으로 대응하는 모습을 보였으나, 다 른 형태의 공격에는 기술을 적용할 수 없는 확장성의 문제를 가지 고 있다. 오늘날 시스템의 취약성을 노리는 새로운 악성 코드들이 계속 등장하는 상황을 고려할 때, 이들 기법만으로는 미래 컴퓨터 시스템을 효과적으로 방어하는 데는 한계가 있는 것은 분명하다. 2 하드웨어 기반 보안 모니터 기술의 출현 앞서 기존 하드웨어와 시스템 보안을 접목하려는 시 도들은 보안 모니터로서의 기능을 수행할 수 없음을 알 수 있다. 보 안 모니터로서의 하드웨어 기술은 호스트 시스템의 내부 정보를 효 율적으로 탐지하는 기능이 필요하며, 그렇게 검출된 정보를 토대로 그 속에서 악성 행위를 판별해내는 다양한 보안 알고리즘을 수행할 수 있는 기능이 필요하다. 이런 조건을 갖춘 기능을 하드웨어 수준 에 지원하려는 노력은 최근 10여 년간 일부 있었다. 이러한 연구들 이 제안하는 기법들은 공통으로 호스트 CPU의 외부에 모니터링 유닛을 부착해 호스트 CPU 외부에서 확인할 수 있는 버스 트래픽, 메모리 내용의 변화 등의 정보를 바탕으로 내부에서 악의적인 프로 그램이 동작하고 있는지를 판단하는 구조이다. 이처럼 구현되어 시 스템의 무결성을 감시를 위한 하드웨어 모니터들은 기존의 소프트 웨어 기반 모니터의 단점들을 극복하고, 하드웨어 잠재적인 장점을 살려 성능 저하를 최소화하면서도 안전한 보안 감시 기능을 제공하 는 이점을 가지고 있다. 이러한 하드웨어 기반 모니터는 호스트 CPU의 외부에서 관측 가 능한 정보를 수집 관찰하며 악성코드 또는 루트킷을 탐지하는 기능 을 한다. 이 모니터는 CPU 외부에 주문형 하드웨어 로직 형태로 존재하여 호스트 CPU 및 OS와 분리된 실행환경에서 동작하기 때 문에 호스트 CPU가 공격을 받더라도 정상적으로 원격 감시를 수 행할 수 있으며, 호스트 시스템의 자원을 덜 사용하므로 성능 면에 서의 부하도 줄일 수 있다. 또한, 호스트 CPU 내부가 아닌 외부에 별도로 구현되어 CPU 코어 자체의 수정을 가하지 않기 때문에 좋 은 확장성을 가진다는 장점이 있다. 이러한 조건을 갖춘 하드웨어 모니터의 최초 연구로는 미국 메릴랜드 대학이 개발한 Copilot을 들 수 있다. 2004년 보안 학회 중 하나인 USENIX Security에 소 개된 이 기술은 그림 5와 같이 데스크톱 플랫폼의 PCI 확장 슬롯 을 통해 x86 호스트 시스템에 연결되어 감시 대상 OS 커널 메모 리의 내용을 모니터하여 악성코드의 흔적을 탐지하고자 하였다. 기 3 하는 방법으로 커널의 무결성 감시를 시도하였다. 이러한 방법은 루트킷과 같은 고급 공격 기법에 안전한 것으로 알려졌다. 그러나 이 기술 역시 스냅샷을 추출하는 과정에서의 성능 부하문제를 완전 히 해결하지 못해서 스냅샷 추출 주기를 줄이면 호스트 성능의 저 하를 일으키며, 무엇보다 Copilot은 PCI와 같은 I/O 채널에서 연결 된 기기로서 호스트의 정보를 추출하는데 사용할 수 있는 기법은 스냅샷 방식만이 가능한데, 이런 스냅샷을 통해 탐지할 수 있는 공 격의 종류에 한계가 있다는 한계성을 드러냈다. 또한, 최근 PCI로 장착된 외부 I/O 채널을 통해 시스템을 감시하는 보안 모니터의 메 모리 접근을 제한하는 기술이 소개되면서 이런 외부 보안 모니터를 무력화 가능성이 제기되었다. 그림5. 보드 수준 보안 모니터 예시 : Copilot SoC 수준 하드웨어 보안 모니터 기술 이처럼 데스크톱의 PCI 슬롯과 같은 I/O 채널을 통해 호스트 CPU 를 감시하는 보안 모니터 기술의 단점을 극복하기 위해 최근 연구 에서는 모니터의 집적 수준을 SoC 수준으로 끌어올리며 모니터의 기능을 보안 효과성 및 성능 측면에서 한층 강화하는 시도를 하고 있다. 이러한 시도는 2000년대 이후 모바일 기기의 AP(Application Processor) 등과 같이 CPU와 기타 보조 기능을 수행하는 하 드웨어 모듈을 하나의 SoC로 집적화하는 반도체의 고도화된 기술 을 보안 이슈에 적극적으로 반영한 노력의 일환이다. SoC 설계 환 경에서는 새로 추가하고자 하는 모니터 하드웨어의 설계 및 배치가 데스크톱 환경과 비교할 수 없을 정도로 자유롭다는 이점을 충분히 발휘하여, 스냅샷 이외에 다양한 방법들을 고안해 볼 수 있었는데, 이러한 연구의 중심에는 Vigilare와 KI-Mon 라고 명명된, 서울대 에서 2012년 이후 개발한 모니터 하드웨어 시스템들이 있다. 이 연 구에서는 하드웨어 모니터들을 호스트 외부 버스에 부착하여 그 트 래픽을 감시하는 스누핑(snooping)이라는 스냅샷 대비 보다 효율 적인 기법을 소개하였다. 특히 SoC 수준에서 모니터를 호스트 CPU와 결합함으로써, CPU 코어 내부를 수정하지 않고 호스트 OS 의 무결성을 감시하는 하드웨어 모니터들을 소개하는 장점을 보였 다. 이모니터에는 Snooper또는 VTMU(Valut Table Management Unit)라 불리는 다양한 ASIC 모듈들을 활용하여 보안 모니터의 성 능을 극대화하면서도, 프로세서 기반의 모니터 프로세서를 제공하 여 다양한 보안 알고리즘을 탑재할 수 있게 하였다. 이 기술은 2012 년 ACM CCS와 2013년 USENIX Security 등 보안 학회에서 연 구 결과를 발표하여 그 효율성을 인정받았다. 며, 추후 보안 기능의 확장에 따라 그 코어의 숫자는 늘어나게 될 것으로 예상한다. 이 초기 구현에서는 SPARC 프로세서와 ARM AHB 버스 기반으로 만들어졌으며, 이 시스템에서는 크게 사용자 를 위한 호스트 시스템과 이 호스트를 감시하기 위한 모니터 시스 템으로 나뉠 수 있다. 호스트 시스템 및 이 시스템 상에서 동작하 는 모든 소프트웨어는 모니터 시스템의 존재를 모른 채 동작한다. OS 및 응용 소프트웨어, 혹은 공격자 소프트웨어는 이 모니터 시 스템에 접근할 수 있는 어떠한 수단도 가지고 있지 못하게 설계되 었으므로, 모니터 시스템은 하나의 독립적이고 안전한 실행 환경을 가진다. 모니터 시스템은 호스트 시스템 상에서 일어나고 있는 행위들을 메 모리 트래픽을 감시함으로써 수행한다. 특히, OS 커널의 자료 구조 에 대한 쓰기 행위를 중점적으로 감시하는데, 이러한 주요 커널 자 료 구조들에 대한 쓰기 동작들은 알려진 규칙을 지켜가며 이루어지 기 때문에, 이 규칙들을 지키지 않는 쓰기 행위들은 공격자에 의한 시스템 전복 시도로 분류할 수 있다. 예를 들어, OS 커널의 정적 영역 (또는 불가변 영역)은 시스템의 부트 이후에는 절대로 쓰기가 금지된 자료 구조들이다. 이런 영역에 대한 쓰기 행위는 당연하게 도 공격에 의한 것으로 분류할 수 있다. 어떠한 자료 구조들의 경 우에는 쓰기 자체는 허용되지만, 쓰여 질 수 있는 값의 종류가 한 정적인데, 이러한 동적 영역 (또는 가변 영역)에 대해서는 이 허용 되는 값의 목록을 화이트리스트(white-list)로 관리하여, 이 목록 외 의 값이 쓰이는 것에 대해서는 공격으로 분류한다. 이러한 메모리 트래픽의 감시를 위하여 Vigilare 시스템의 Snooper, KI-Mon 시 스템에서는 VTMU라는 하드웨어를 설계 및 배치하여, 메모리 트래 픽 감시 및 화이트 리스트의 관리를 호스트의 접근 없이 수행하였 다. 이러한 하드웨어 IP들은 상시 감시를 1% 이하의 시스템 성능 저하만으로 가능하게 함으로써, 기존의 하드웨어 기반 모니터 혹은 소프트웨어 기반 모니터 기술들보다 혁신적인 성능 향상을 보여주 었다. 그림6. Vigilare 보안 모니터의 구조 존 소프트웨어 기반 모니터와는 대비 별도의 전용 하드웨어를 이용 해 메모리 상태의 스냅샷(snapshot)을 효율적으로 추출하고 분석 Vigilare 시스템의 초기 구현은 그림 6과 같이 두 개의 프로세서 코어를 가진 MPSoC (Multi-Processor SoC) 구조로 되어 있으 10 ㅣ 시스템 보안 강화를 위한 SoC 수준 하드웨어 모니터 기술 Trend of technology ㅣ 11
Chip Design Contest (CDC) 하드웨어 기반 모니터의 장점은 별도의 하드웨어 엔진을 통해 감시 대상 시스템을 상시 감시할 수 있다는 것이다. 이러한 장점을 살려 Vigilare 시스템은 일시 공격 (transient attack)이라는 보안 분야 에서 널리 알려졌지만, 검출이 사실상 불가능했던 공격 유형의 탐 지에 효과적임을 보여주었다. 그림 7은 일시 공격의 예시를 보이고 있는데, 이러한 형태의 공격은 자신의 목적을 위해 조작한 데이터 의 흔적을 아주 짧은 시간 후에 지워버림으로써, 기존의 바이러스 스캐너와 같은 스냅샷 추출 기법을 효과적으로 회피하는 방법이다. 따라서 주기적으로 모니터링을 하는 모니터의 경우 이 공격을 막아 낼 수 없는데, Vigilare 연구에서는 하드웨어를 이용한 메모리 쓰기 행위의 상시 감시를 통해 이 일시 공격을 성능 저하 없이 막아내는 데 성공하였다. 이러한 결과는 SoC 수준의 하드웨어 모니터 연구 가 기존 연구들에 대비하여, 성능과 보안 두 측면에서 모두 큰 가 능성을 가지고 있음을 보여준다고 할 수 있다. 윈텔(Wintel) 시대가 저물고, 스마트폰이나 태블릿 등 모바일 디바 이스가 시장을 지배하게 되는 포스트 PC 시대가 열리게 되었기에, 이러한 SoC를 기반으로 하는 보안 기술들에 대한 요구는 더욱 증 대될 것이다. 또한, 자동차, 가전제품, 클라우드 서버 등 SoC를 활 용하거나, 모바일 기기와 연동된 플랫폼에서도 이러한 보안 기술들 은 시스템 보안 향상에 이바지할 것으로 기대된다. 따라서 본 연구 를 통한 선행 기술의 확보는 미래에 이루어질 다양한 상용 기술들 의 모태가 될 수 있을 것으로 본다. 백 윤 흥 교수 소속 : 서울대학교 전기정보공학부 연구분야 : Computer Architectures, Code Analysis and Optimizations, Hardware-assisted System Security E-mail : ypaek@snu.ac.kr Homepage : http://sor.snu.ac.kr International SoC Design Conference(ISOCC) 2014 Chip Design Contest 개최 Chip Design Contest(CDC)는 2014 ISOCC 프로그램의 한 세션으로 진행되나, 제출한 논문은 프로시딩(Proceedings)에 포함되지 않음. 1. 일정 및 장소 가. 전체 진행 일정 : 2014년 11월 03일 ~ 06일 나. Ramada Plaza Jeju Hotel, 제주 다. CDC 주요 일정 논문 제출 마감 논문 채택 통보 Chip Design Contest 2014. 7. 31 2014. 9. 1 2014.11.04 2. 논문 접수 분야 : SoC 설계 * 일정은 사정에 따라 다소 변경될 수 있음. 3. 시상내역 Award 명 수상팀수 내 역 Best Design Award 1팀 상장 및 상금 100만원 Best Demo Award 1개팀 특별상(SSCS 서울챕터상) 1팀 각 상장 및 상금 50만원 Best Poster Award 5개팀 내외 각 상장 및 상금 20만원 4. MPW 제작팀의 의무사항(CDC 참여) IDEC Chip Design Contest 논문 제출 및 데모(패널) 전시 관련사항 * 수상팀 수는 참여팀 수 등에 따라 조정될 수 있음. * Chip Design Contest(CDC)는 2014 ISOCC 프로그램의 한 세션으로 진행되나, 제출한 논문은 프로시딩(Proceedings)에 포함되지 않음. * CDC 참여와 관련한 자세한 사항은 홈페이지(http://www.idec.or.kr)를 참조 * 담당 : 구재희(042-350-8536, kjh9@idec.or.kr) 4 그림7. 일시 공격 (transient attack)의 예시 연구의 전망과 의의 Vigilare 시스템의 연구 결과를 통해서 향후 SoC 기술의 연장선에 서, 보안 기능에 필요한 다양한 하드웨어 IP들을 결합한 MPSoC를 개발의 필요성을 발견할 수 있다. 특히 이러한 IP들의 개발 과정에 서 고성능, 저전력이 가능한 응용 특화 하드웨어를 지향함으로써, 성능, 전력 보안 문제들 모두 동시 해결해야 하는 모바일 환경에 더 욱 적절한 해결책을 제공하고자 한다. 아직 세계적으로도 이에 대 한 연구가 본격화되지 않았고, 이미 앞서 언급한 Vigilare라는 SoC 수준의 보안 모니터에 대한 원천 기술을 국내 연구팀이 세계 최초 로 제안함은 물론, 지난 수년간 선행 연구를 진행해 본 연구 분야 를 선도할 수 있는 독창적 연구 방법론에 대한 노하우를 이미 보유 한 만큼, 다른 국가에 앞서 해당 분야의 연구를 신속히 진행해 새 로운 흐름을 주도할 수 있을 것이다. 무엇보다, 이미 선진국 수준에 오른 국내 반도체 기술을 여기에 적용한다면 보안 시장을 향한 이 러한 하드웨어 기반 모니터 기술 연구의 성공 가능성은 높아질 것 이다. MPSoC를 기반으로 하는 이 연구는 향후 가까운 시일 내에 모바 일 AP와 같은 ARM 기반 SoC 플랫폼에 적용이 가능한 연구이므 로, 보안이 점점 중요시되지만 기존 소프트웨어 기반 보안 감시 솔 루션들의 성능 오버헤드가 부담되는 모바일 플랫폼에서 가치를 인 정받을 수 있을 것이다. 마이크로소프트와 인텔의 연합을 상징하는 IDEC에서 이용할 수 있는 SILVACO TowerJazz PDK List TS18SL (Mixed Signal CMOS 0.18um) TS18PM (Power Management 0.18um) IDEC, IDEC(IC 설계 교육 센터)은 대학의 LSI 교육 및 연구 과정의 개발 진흥을 담 당하고 있습니다. IDEC은 칩 시험 제작 시스템을 구현 및 운영할 뿐만 아니 라, 대학 내 사용자들에게 최신 설계 툴 환경을 제공하고 있습니다. 또한, IDEC은 툴 및 최신 칩의 시험 제작에 대한 세미나를 정기적으로 개최하고 있습니다. 현재 한국에 있는 대학 대부분의 연구실에서 이용하고 있으며 연 간 320여 종류의 칩 제작 서비스를 지원하고 있습니다. IDEC, 설계 환경 다변화를 위해 실바코 AMS 디자인 플로우 도입 KAIST에 위치한 반도체설계교육센터(IC Design Education Center, 이하 IDEC)는 한국의 주요 국공립대, 사립대 및 전문대에 VLSI 설계 교육, 칩 제조 서비스 제공을 위해 아날로그/ 믹 스드 시그널(AMS) 및 EDA 소프트웨어의 선도 기업인 실바코의 AMS 디자인 플로우를 도입하 였다. IDEC은 대학의 VLSI 교육 및 연구 개발에 최신 정보와 소프트웨어를 제공하기 위하여 항상 노력하고 있습니다. 실바코의 소프트웨어 제공을 통한 설계 환경 다변화는, 다양한 설계 경험을 통해 설계 기술 과 능력 향상이 가능할 것이라 기대 됩니다. 실바코는 한국의 우수한 교 육 시스템을 지원하기 위해 최선을 다하고 있습니다. 이번 IDEC과 SILVACO사의의 파트너십 을 통하여, 한국의 대학은 우수한 툴로 미래의 엔지니어들을 교육할 수 있게 되었으며, 이들은 향후 실무에서 마주칠 과제에 대처할 수 있는 능력을 갖추게 될 것입니다. 실바코 아날로그/믹스드 시그널 디자인 툴 소개 실바코의 아날로그/믹스드 시그널 디자인 툴 구성은 많이 사용하고 있는SmartSpice 회로 시 뮬레이터, Gateway 스키매틱 에디터, Expert 레이아웃 에디터, Guardian DRC/LVS/LPE, 및 Hipex full-chip 기생 성분 추출 툴을 포함합니다. 실바코의 AMS 툴을 사용해서 IC 디자 이너는 최적의 성능, 개발비 감축, 위험 감소와 궁극적으로 TAT (turn around time)의 단축 을 제공하는 반도체 제품을 만들 수 있습니다. 실바코에서 제공하는 TowerJazz 프로세스 디자인 키트 IDEC에서 진행되고 있는 TowerJazz 공정에 적용 가능한 Silvaco 용 PDK를 지원한다고 발표 하였습니다. 멀티 프로세스 PDK는 교육 기관 및 팹리스 기업이 실바코의 IC 디자인 캡처, 시뮬레이션, 레이아웃 및 검증 도구를 이용하여 바로 설계및 제작을 용이하게 합니다. TS18IS (CMOS image sensor 0.18um) CA18HD (CMOS 0.18um) SBC18HA (SiGe 0.18um) Silvaco, Inc. Silvaco는 TCAD, 회로 시뮬레이션 및 IC CAD 소프트웨어 툴을 제공하는 선도 기업입니다. Silvaco의 툴은 반도체 공정을 개발하는 팹과 아날로그/믹 스드 시그널/RF 집적 회로를 개발하는 디자인 하우스에서 사용합니다. Silvaco는 서드-파티의 설계 플랫폼에 대한 인터페이스와 함께 완벽한 PDK 기반 설계 플로우를 제공합니다. Silvaco는 전세계 주요 지역에 사업 거점을 두고 있습니다. 주소 대한민국 대전광역시 유성구 대학로 291(우: 305-701) 웹사이트 www.idec.or.kr 연락처 CEO David Halliday / david.halliday@silvaco.com 12 ㅣ 시스템 보안 강화를 위한 SoC 수준 하드웨어 모니터 기술
IDEC inside 3 / 기획컬럼1 2. Questa CDC A. 목적 : Functional Verification 로는 위와 같이 Random 하게 DFF의 Q가 0 또는 1이 되 어 비정상적인 동작을 하는 것을 검증할 수 없다. B. 구분 : Static Analysis를 사용한 Clock Domain Crossing 검증 Mentor사 Questa (Modelsim) C. Supported Platform and O/S System RedHat 7,8,9 Red Hat Enterprise (32/64bit) Linux 3,4,5 SuSE (SLES 9/10) (32/64bit) Linux D. 특성 및 기능 1. Questa (Modelsim) Metastability in Hardware Missing or Incorrect Synchronizers A. 목적 : Verification Platform Design을 분석하여 Clock Domain Crossing이 있는 부 분을 Report 해주며 자동으로 어떤 Synchronizer가 있는 지 또는 빠져 있는지를 Categorization 하여 보여 준다. B. 구분 : Logic Simulation 및 Verification Environment를 효과적으로 수행할 수 있는 Engine 제공 CDC protocol error C. Supported Platform and O/S System Silicon 상의 Register들은 위 그림과 같이 Setup/Hold Time이 존재하며 Asynchronous Domain 간에는 위와같 은 Side Effect를 피할 수 없다. 그러나 RTL Simulation으 Linux RHEL 4/5/6 32/64bit Linux SLES 10/11 32/64bit Protocol 상에 문제가 될 수 있는 부분에 자동으로 Assertion을 생성해주며 이 Assertion을 Simulation에 적용하여 검증을 수행할 수 있다. Windows XP 32bit, 7 32/64bit, Vista 32bit D. 특성 및 기능 Questa Simulator는 High Performance를 가지는 집적 Simulator로써 고성능 디버깅 기능과 Industry의 Native Standard를 지 원하는 툴 엔진이다. Questa Simulator은 TLM 기반의 검증 기능을 제공하며, High Abstraction 환경을 제공함으로 더욱 고급화된 검증환경 구축을 도와준다. Questa Core, Questa Prime 그리고 Questa Ultra는 이러한 검증환경을 위하여 Mentor Graphics에 서 제공하는 Product 종류이다. 1. Questa는 SystemVerilog, SystemC, UPF 그리고 UCDB를 지원하며, Industry Standard HDL을 지원하고, 서 로 상이한 Language 간의 Simulation인 Mixed Language를 제공한다. 또한, Industry 검증 Methodology인 ABV, OVM, UVM을 지원한다. 2. Questa 디버깅 환경제공 2.1 최적의 Simulation 수행을 위하여, 아래의 다양한 디버깅 기 능을 제공한다. Coverage 최적화를 위한 Code Coverage와 Functional Coverage를 지원하며, 해당 GUI를 제공함으로써 Coverage 향상에 도움을 준다. 2.2 Data Flow Window는 X값 Tracing에 도움을 주며, SignalSPY는 Mixed Language Simulation에서 VHDL과 Verilog의 Language 간 한계를 극복하여 Signal 디버깅을 도와준다. 2.4 Waveform Compare 기능은 Waveform을 서로 비교해줌 으로써 디버깅에 소요되는 시간을 Save 해줌은 물론 더욱 효과 적이고 정확한 디버깅을 도와준다. 3. Questa Formal A. 목적 : Functional Verification Fully Automatic RedHat 7,8,9 모든 Property 들과 디자인에 관련된 검증이 툴에 의해서 자동으로 생성된다. 이것은 크게 3가지 자동화 툴로 나눌 수 있다. Questa CoverCheck은 CodeCoverage에 관련된 검증을 수행하며 Questa AutoCheck은 RTL에 대해서 Formal Analysis를 수행한다. Red Hat Enterprise (32/64bit) Linux 3,4,5 Automated Application B. 구분 : Assertion을 이용한 RTL 검증 C. Supported Platform and O/S System SuSE (SLES 9/10) (32/64bit) Linux D. 특성 및 기능 Connectivity, X-States, Reset Structures와 Design Constraints와 같은 이슈들에 대하여 툴에서 제공하는 Application을 이용하여 Property를 생성하며 이에 대한 FormalAnalysis를 수행한다. Property Checking 3. Questa은 Systemverilog Assertion 검증을 위한 QVL Library를 제공한다. 다양한 Protocol Monitor와 Assertion Checker를 각각의 Application 별로 제공하며, 이에 해당하 는 Assertion Tread Viewer (ATV)인 디버깅 GUI를 지원 함으로써, Assertion Based Verification (ABV)을 가능하 게 한다. 사용자가 Property와 Constraint를 직접 기술하여 더욱 적 극적인 방법으로 검증을 수행할 수 있다. 이를 통해서 I/F Protocols, FunctionalCoverage, Control Logic, Data Integrity 그리고 Post-SiliconDebug를 디자인에 적용해 볼 수 있으며 이를 통해 가장 Exhaustive 하게 검증을 수 행할 수 있다. 회 사 명 : Mentor Graphics (Subsidiary of Ansys Inc.) 웹 주 소 : http://www.mentorkr.com/ 2.3 Systemverilog 검증환경을 위한 다양한 Window를 제공함 으로써 더욱 효율적인 Systemverilog 디버깅을 도와준다. Text Based Dataflow Window, Watch Window 그리고 Object Window 등 다양한 GUI로 상기 검증환경에 도움을 준다. 14 ㅣ Mentor사 Questa (Modelsim) 4. Questa는 Advanced Tectbench환경을 구축하기 위한 UVM/OVM Methodology를 제공함으로써 보다 효율적이며, Reusable 한 Test 환경구축을 한다. Constraint Random Verification으로 구성된 옵티마이즈된 Stimuli는 Questa에 서 재해석되어 Testbench Automation을 가능하게 해준다. 한국지사 : 한국멘토 전 화 : 031) 8061-0790 주 소 : 경기도 성남시 분당구 판교역로 192번길 12 (삼평동) 판교 미래에셋센터 7층 SPECIAL Column I ㅣ 15
IDEC inside 1 / 기획컬럼2 로 보는 애플은 지난 6월 2일(현지시각) WWDC 2014에서 새로운 매킨토시 OS인 요세니티 웨어러블기기에 대한 확장 (Yosemite)와 ios 8을 발표하였다. 이번 발표는 단순히 새로운 OS의 발표라고 보기에 어 려운 새로운 혁신요소들을 갖추었으며, 스티브 잡스 이후 애플의 새로운 전략적 방향성을 드 러내었다. WWDC 2014를 통해 나타난 애플 ios의 변화 중 주목할 만한 사안을 몇 가지 살 애플의 변화 펴본다. 콘텐츠 유통 공유 강화 ios8에서 가장 눈에 띈 발표 중 하나는 바로 가족 간 콘텐츠 공유 기능이다. 최대 6명의 가족이 한 장의 크레디트 카드를 연동하여 앱을 구매하거나 콘텐츠를 구매한 후 서로 다른 디 바이스에서 공유할 수 있다. 가족 간 콘텐츠 공유의 강점은 국내 이통사에서 하는 가족할인 요금제 와 유사한 효과를 본다. 바로 고객 이탈방지이다. 김 석 기 대표이사 모폰웨어러블스 www.facebook.com/neokim 이러한 공유강화를 통한 고객 이탈방지는 icloud를 이용한 사진보관함도 맥을 같이 한다. icloud 한곳에서만 사진을 정리하면 공유된 모든 기기(가족포함)의 사진이 한꺼번에 관리할 수 있기 때문이다. icloud는 드라이버의 추가를 통해 데스크탑인 OSX 뿐만 아니라 윈도우 머신과의 연동역시 가능하다. icloud는 이번에 가격도 대폭 낮춰서 200GB를 한 달에 4달러 (약 4,500원)에 사용할 수 있다. 개인 간의 공유뿐 아니라 애플이 안드로이드에 비해 약한 부 분이었던 기업고객을 위한 엔터프라이즈 기능을 탑재해 다른 면(B2B)에서의 공유 역시 강화 하였다. 공유강화의 목적은 고객 이탈방지와 더불어 콘텐츠의 소비를 증가시키는 Cross-Selling 효 과를 동반하게 된다. Airdrop은 아이폰과 mac 간의 공유를 편리하게 만들었으며 Handoff 기능을 통해 오피스 포스트웨어를 아이폰과 아이패드에서 사용할 수 있도록 만들었다. 이러 한 기기 간에 편리한 공유기능으로 아이폰 사용자들은 아이패드와 맥을 구매하게 되고, 반대 의 경우 아이폰을 사게 되며, 기기를 교체할 때도 윈도나 안드로이드와 같은 다른 플랫폼으로 의 이탈이 방지된다. 학생들은 신용카드를 만들지 못하기 때문에 실질적으로 부모의 신용카 드로 앱을 구매하고 있다. Family sharing 기능은 간편하게 자녀가 앱을 구매하는 것을 승인 할 수 있게 해줌으로써 앱의 간편한 구매를 유도한다. 애들이 아이폰이나 아이패드가 있다면 부모에게 아이폰 또는 아이패드를 사도록 권하는 구조가 되는 것이다. 애플이 이번 ios8에서 이전에 아예 없었던 새로 선보인 기능 중 하나는 Heatkh와 HealthKit 이다. 혈압, 무게, 심박, 다이어트 등 건강정보 관련 기능을 OS의 기본 기능으로 제공하기 시 작한 것이다. 단순히 건강 관련 API만을 제공하는 수준이 아니라 서드 파티의 앱이나 디바이 스의 연동 지원이 가능하며, 건강상태 이상 시 의사에게 바로 연락이 가는 그런 서비스이다. 일차적으로는 애플이 Health care 시장에 뛰어든다는 것을 나타내지만, 전략적인 방향성을 본다면 Health care를 위한 디바이스를 염두에 두고 있다는 것을 알 수 있다. 즉 앞으로 출 시될 것으로 예상되는 iwatch의 기본 기능을 건강 관련 정보의 사전 포석이며 ios에 이를 포함하여 iwatch 이후 다양한 형태의 웨어러블 기기로의 확장이 쉽게 만들어준다. 이러한 예상을 뒷받침해주는 또 하나의 징후는 바로 시리의 기능 강화이다. 이번 발표로 시 리의 지원국가가 22개국이 늘어났으며 Shazam의 통합으로서 음악의 선곡과 구매를 시리를 통해 itunes에서 가능하게 만들었다. 음성을 기반으로 하는 UX는 물론 아이폰에서도 많이 사용되고 있지만 시리는 궁국적으로 몸에 착용하는 웨어러블 디바이스에 가장 적합한 UX이다. Health 와 HealthKit에 대해 Health와 HealthKit은 아직 발표된 내용 외에는 명확하게 알려진 바 없지만, 애플이 추구하 고 있는 방향성은 알 수 있다. 애플은 헬스캐어 시장에 대한 독립적인 디바이스와 앱, 서비스 를 제공하는 문제뿐 아니라 HealthKit을 통해 3rd Party를 끌어들임으로써 좀 더 개방화된 생태계의 구축으로 접근하고 있다. 발표에서 공개한 Health 앱은 Dashboard, Health Data. Sources, Medical ID 의 메뉴로 구성되어 있다. 해당 메뉴들은 각각 칼로리 소모, 수면 측정, 심장박동수를 비 롯하여 다양한 건강 관련 데이터를 한눈에 볼 수 있도록 제공한다. 그뿐만 아니라 건강 데이 터 관리를 위한 여러 가지 데이터 입력과 외부 앱 또는 기기를 통한 데이터를 수집하는 기 능, 응급상황을 대비한 개인의 생체 정보와 병력 정보 등을 제공한다. Health App은 일종의 레퍼런스 앱이며 외부 사업자나 병원 등이 HealthKit을 활용하면 병원이 환자 관리를 위해 앱을 개발할 때 환자가 사용하는 건강관리 앱이나 각종 건강 모니터링 앱과 서비스의 데이터 16 ㅣ ios8로 보는 애플의 변화 Trend of technology ㅣ 17
를 자사의 앱과 연동하여 환자의 상태를 주치의나 병원으로 전송하여 맞춤 관리를 할 수 있 게 만들 수 있다. 의료기관은 환자의 데이터를 수집하기 위한 별도의 노력과 비용을 들이지 않고 Apple의 HealthKit 플랫폼을 이용하기만 하면 쉽게 환자의 건강상태 관리가 가능하며, 응급 시 효과적으로 대처할 수 있어 다양한 의료 서비스를 제공할 수 있게 된다. Swift는 ios와 OS X 앱을 만드는 것은 물론, 계속 새로운 기능을 추가하고 개선하는 위한 환 상적인 방법입니다. Swift를 향한 우리의 목표는 야심 찹니다. 우리는 여러분이 Swift로 무언가 만드는 것을 빨리 보고 싶습니다. (번역 FlashMaestro (masterofflash@nate.com)) 새로운 프로그래밍 언어 SWIFT와 모바일 그래픽 라이브러리 Metal swift에 대한 랭귀지 가이드와 랭귀지 레퍼런스는 http://swift.leantra.kr/ 에서 한국어로 된 설 명을 보고 경험해 볼 수 있으니 참고하기 바란다. Swift는 ios 및 OS X 프로그램을 만들 수 있는 새로운 프로그래밍 언어이다. C언어와의 호 환성이 제약 없이 보장되며, Object-C를 사용하지 않고 스크립트 언어들의 장점을 채용하여 쉽고 편리하게 사용할 수 있도록 설계되었다. 이는 개발자들이 새로운 언어를 익히기 위해 들 이는 시간과 노력을 대폭 축소했으며 ios 기반의 개발자들을 끌어드리려는 애플 전략의 일환 이다. 애플이 공개한 swift의 언어개발문서 (http://swift.leantra.kr/)에는 아래와 같이 Swift 를 소개하고 있다. About Swift 모바일 그래픽 라이브러리 메탈 Swift와 함께 공개된 메탈을 이용하여 개발하면 드로우콜(draw call) 속도를 '오픈 GL ES'보다 10배 향상시켜 뛰어난 3D 그래픽을 구현할 수 있고, 스프라이트 킷 및 장면 킷 등 다양한 예제 를 제공해 캐주얼 게임도 간편하게 제작할 수 있다. 모바일 게임 개발에 사용되는 그래픽 라이 브러리는 크로노스 그룹이 개발한 오픈 GL ES이 사실상의 표준이었다. 하지만 애플이 직접 메 탈을 공개함에 따라 두 라이브러리 간 경쟁은 불가피한데, 메탈은 애플의 AP에 최적화된 그래 픽 라이브러리로서 결국 'ios 게임 개발은 메탈로, 안드로이드 게임 개발은 오픈GL ES'로 나뉠 것이다. Swift는 C 언어 그리고 Objective-C 언어의 좋은 점들을 취합한 것을 기반으로 C 언어 호 환성에 대한 제약 없이 ios와 OS X 앱을 개발하기 위한 언어입니다. Swift는 안전한 프로그 래밍 패턴을 채용했고 프로그래밍을 더 쉽고, 유연하고, 재미있게 만들어주는 최신 특징을 더 했습니다. 성숙하고 많은 사랑을 받고 있는 코코아, 코코아 터치 프레임워크를 기반으로 둔 Swift의 이런 훌륭함은 소프트웨어 개발 방법을 재고해볼 기회를 제공합니다. 알겠습니다. Swift는 오랜 기간에 걸쳐 만들어져 왔습니다. 애플은 Swift를 위해 현존하는 진보한 컴파일 러, 디버거, 프레임워크 기반의 토대를 만들었습니다. 우리는 ARC(Auto Reference Counting)로 메모리 관리를 단순화했습니다. Foundation(Apple Foundation Framework)과 코코 아의 견고한 기초를 기반으로 만들어진 우리의 프레임워크 스텍은 최신화와 표준화의 결과물 이죠. Objective-C는 블록 방식 코딩, 문자집합, 모듈, 혼란 없는 최신 언어 기술 프레임워크 적용 가능 등을 지원하도록 발전해왔습니다. 이러한 기초작업 덕분에 애플 소프트웨어 개발 의 미래를 위한 새로운 언어를 소개할 수 있게 되었습니다. Swift는 Objective-C 개발자들에게 매우 친숙한 느낌을 줍니다. Swift가 개발자가 읽기 쉽도 록 Objective-C의 파라미터 명명법과 동적 객체 모델의 성능을 적용했기 때문입니다. 이를 통해 기존 코코아 프레임워크에 매끄럽게 접근할 수 있고 Objective-C와 혼합해서 사용할 수도 있습니다. 이러한 공통점을 기반으로 두고, Swift는 많은 새로운 특징들을 도입했고 절 차지향 프로그래밍과 객체지향 프로그래밍 요소들을 통합했습니다. Swift는 프로그래밍 입문자에게 친화적입니다. Swift는 스크립트 언어만큼이나 표현하기 쉽고 즐거운데다가 산업품질에 적합한 시스템 프로그래밍 언어입니다. Swift는 프로그래머들이 사 소한 테스트 때문에 코드를 빌드하고 실행하는 과정에 시간을 낭비하는 일 없이 즉시 코드를 테스트하고 결과를 볼 수 있도록 하는 혁신적인 요소인 playgrounds를 지원합니다. Swift는 폭넓은 애플 엔지니어링 문화로부터 나온 지혜와 뜻에 부합하기 위해 최신 언어 중 최고의 것들을 갖추도록 했습니다. 성능과 개발 편의성을 타협할 필요가 없을 만큼 컴파일러 는 성능 향상을 목적으로 최적화했고, 언어는 개발 편의성을 고려해 최적화했습니다. Swift는 'hello, world'에서 시작해 전체 운영체제로 확장할 수 있게 디자인되었습니다. 이 모든 것은 결국 애플과 개발자들이 Swift에 투자할 가치가 있다고 생각하게 합니다. Security SoC 18 ㅣ ios8로 보는 애플의 변화 정리하며 위에 기술한 내용 말고도 이번 ios8은 정말 많은 변화가 있다. 새로운 API가 4,000여 개라고 하니 내부적으로 얼마나 많은 변화가 있었는지 API 숫자만으로도 짐작할 만하다. 이러한 변화 의 주요 방향성은 크게 공유의 강화 와 확장과 개방 이라는 키워드로 요약될 수 있다. 기 존 하드웨어 및 소프트웨어적인 연결성의 강화와 공유, 웨어러블 디바이스로의 확장과 Health 관련한 개방 등이다. 필자가 애플을 주목하는 이유는 단순히 애플이 제품을 잘 만들기 때문이 아니다. 애플은 시장을 선도하고 있고, 사람들에게 기준을 제시한다. 애플이 새로운 기술을 가 장 먼저 내놓지는 않지만, 애플이 내놓은 이후 일반적으로 사용하게 되는 것을 보면 그렇다. 신 기술을 가장 먼저 내놓는 것이 중요한게 아니고 잘 쓸 수 있도록 만들어서 내놓는 것, 그게 진 정한 시장 선도이다. Trend of technology ㅣ 19
IDEC inside 4 / 특집기사 Dynalith Systems IEEE 1588 PTPv2: Part 1 분산시스템 실시간 동기 IEEE 1588 PTPv2: Distributed Real-Time Synchronization 지리적으로 분산되어 있는 기능블록(노드)이 동일한 시간 정보를 갖기 위한 방법으로 시간방송(radio clock ) 수신기나 GNSS(Global Navigation Satellite System ) 수신기를 모든 기능블록에 구현하 여 절대 시간을 맞추거나, 또는 전용 시간동기 통신 채널을 구성하여 시간 정보를 공급할 수 있다. 그 러나 이러한 방법은 시간의 정확도가 낮거나, 구현 측면에서 비용이 많이 들거나, 확장성에 제한을 받 게 된다. 따라서 시간동기에 필요한 일을 기존의 통신 채널을 통해 수행하는 것이 현실적인 방법이 될 수 있다. 이때 시간동기를 위해 사용하는 네트워크 사용량이 기존의 정보전송용 통신에 영향을 미치 지 않을 정도이어야 할 것이다. 대표적인 시간동기 기법을 표 2에 정리하였다. 표2 시간동기 기법들 NTP/SNTP GPS PTP (Simple Network (Global (Precision Time Protocol) Positioning System) Time Protocol) 응용분야 일반시간동기 정밀시간동기 정밀시간동기 지리적응용범위 광대역네트워크(WAN) 광대역네트워크 지역네트워크(LAN) 지원범위 up to 1000's nodes not limited up to 100's nodes 통신방식 UDP/IP Satellite Native Ethernet (Radio Frequency) UDP/IP 기안도 박사 (주)다이나릿시스템 연구소장 E-mail : adki@dynalith.com www.dynalith.com 요약 여러 노드들이 지역적으로 분리되어 있고, 각 노드들이 시계를 갖고 있는 시스템에서 동일한 시간을 유지하기 위한 방법이 필요하다. 데이터 통신 네트워크를 이용하여 분산된 시계들의 시간을 동기화하 는 방법이 있으나, 실시간 제어 시스템과 같이 보다 정확하고 정밀한 시간동기가 필요한 경우는 새로 운 방법이 필요하다. IEEE Std. 1588 PTPv2는 실시간 응용을 위한 시간동기 표준이다. 첫 회에서는 데이터 통신 네트워크를 통한 시간 동기의 일반적인 것을 살펴 보고, 두 번째 회에서는 PTPv2에 대해 상세하게 살펴본다. 1. 개요 분산시스템(distributed system)은 통신채널 즉 네트워크로 연결된 기능블록들로 구성되며, 각 기능 블록은 통신채널을 통해 정보를 주고 받는다. 이러한 분산시스템에서 시간적으로 연관된 일을 하기 위해서는 시간동기(time synchronization )가 필수적이다. 예로써, 사무실에서 사용하는 개인용 컴 퓨터가 시간을 표시하기 위해 어딘가 기준 시간을 제공하는 곳과 시간을 맞추어야 할 것이다. 이러한 시간은 응용분야에 따라 필요한 정확도와 정밀도가 다르다. 예로써, 일상 생활에서 시간을 확인하는 용도로는 하루에 수초 정도 오차는 큰 문제가 되지 않지만, GPS를 통한 위치/시간 확인 등에는 마이 크로초(10-6sec) 또는 나노초(10-9sec) 단위의 정확도가 필요하다. 정확도 (accuracy) <1ms within LAN <usec <usec <10ms within WAN 정밀도 (precision) 10 s microsec 10 s nanosec 100 s nanosec HW 필요성 SW only GSP receiver PTP HW 통신망에서 사용하는 대표적인 시간동기 기법으로 NTP(Network Time Protocol)/SNTP(Simple NTP)가 있고, 이들은 LAN(Local Area Network) 또는 Internet에서 사용되고 있다. 그러나 LAN과 Internet에 주로 사용하는 Ethernet 기술은 통신에 소요되는 시간이 결정적이지 않기 때문에 근본적 으로 시간동기에 한계가 있다. 따라서 매우 정밀한 시간동기가 필요한 환경에서는 새로운 기법이 필 요하며, 이러한 목적으로 개발된 표준이 PTP(Precision Time Protocol)이다. NTP는 시간을 동기하고 싶은 블록(NTP client)이 여러 NTP서버(NTP server)들에게 시간정보를 요 청하고, 수집된 시간정보를 처리하여 기간을 동기시킨다. PTP는 정확한 시간을 갖는 클럭(grandmaster clock)이 모든 슬레이브로 시간정보를 전송(broadcasting)하여 동기시킨다. 표1 시간 정확도와 적용분야 정확도 seconds/day 3 (<10-5 ) 적용분야 시계, 컴퓨터 본 고에서는 패킷 통신 망으로 연결된 분산 시스템에서 마이크로초(microsecond) 단위의 정확도 (accuracy )와 수백나노초(100 s nanosecond) 단위의 정밀도(precision )를 갖는 PTPv2(Precision Time Protocol Version 2, IEEE 1588 standard)에 대해 살펴본다. 참고 REFRENCE milliseconds/day (<10-8 ) 실험실 장비, 네트워크 통신 microseconds/day (<10-11 ) 금융, 정밀 과학/공학, 항법 nanoseconds/day (<10-13 ) GNSS (GPS, Galileo, Glonass, Compass,...), 시간기준, 고정밀 물리 ➊ Ando Ki, Ph.D.: adki@dynalith.com ➋ 클럭동기화(clock synchronization)는 디지털 시스템에서 서로 다른 주파수 또는 위상을 갖는 클럭을 사용하는 두 도메인을 연동하기 위한 기법을 의미한다. ➌ 1/86400 ~ 1.16x10-5 Copyright 2014 Ando Ki 2. 시간분류와 클럭 시간(time)이란 어떤 현상들의 순서를 정하는 기준을 추상화한 개념이고, 시간분류(timescale)란 특 정기준을 기점으로 단순하게 증가하는 시간이라 할 수 있다. 따라서 시계(clock)란 시간분류를 위한 도구이고, 날짜(date)란 진행되는 시간분류의 특정 값에 또 다른 의미를 부여한 기호라고 할 수 있다. 시간분류에는 시간을 사용할 응용에 따라 UT, UTC, TAI 등이 있다. ➍ 각 나라마다 수 Khz에서 수 Mhz 범위의 방송주파수로 일정시간 간격으로 시간정보를 방송하고 있다. ➎ GNSS는 위성 측위 시스템(GPS/미국, GLONASS/러시아, Galileo/유럽, COMPASS/중국, IRNSS/ 인도, QZSS/일본)을 포괄하는 범지구위성항법시스템 ➏ 1.575Ghz 20 ㅣ IEEE 1588 PTPv2: 분산시스템 실시간 동기 IEEE 1588 PTPv2: Distributed Real-Time Synchronization ㅣ 21
표3 기준시간: Time Scale and Epoch Time scale Epoch Remarks MJD (Modified 1858년 11월 17일 날짜 수를 계산 Julian Day number) 00시00분 GMT NTP/SNTP 1900년1월1일 00시00분 MJD 15,020 00초 UTC Unix operating system 1970년1월1일 00시00분 MJD 40,587 11초 UTC PTP 1970년1월1일 00시00분 MJD 40,587 11초 UTC GPS 1980년1월6일 00시00분 MJD 44,244 00초 UTC Dynalith Systems 수정발진자는 기계적인 진동을 전기신호로 바꾼 것이기 때문에 환경적인 영향을 받아 주기 (또는 주파수)가 변한다. 대표적인 원인으로 온도, 기압, 가속 등이 있다. 수정발진자는 완벽하게 일정한 주기를 갖지 않기 때문에 자체적으로 지터(jitter)현상을 갖는다. 수정발진자는 완벽하게 일정한 주기를 갖지 않기 때문에 자체적으로 지터(jitter)현상을 갖는다. 수정발진자들은 완벽하게 동일할 수 없기 때문에 주기와 위상이 달라 스큐(skew)를 갖는다. 수정발진자들은 완벽하게 동일할 수 없기 때문에 주기와 위상이 달라 스큐(skew)를 갖는다. 이러한 결함을 수치화한 것 중 대표적인 것이 ppm(part per million)이며, 1ppm은 +/-10-6 즉 +/- 10-4%를 의미하고, 이는 일백만 주기에 대해 1개 주기의 오류(1개가 많거나 1개가 적거나)가 발생할 수 있다는 의미가 된다. 일례로 1Mhz 주파수를 갖는 두 개 수정발진자를 생각해 보자. 이들 중 하나 는 이상적인(0ppm) 수정발진자이고, 다른 하나는 1ppm의 오류를 갖는다고 가정하면, 그림 2(a)와 같이 1ppm X-tal은 각 주기마다 +/-10-6 초만큼의 오차가 있을 수 있다. 이런 오차가 누적되면 그 림 2(b)와 같이 1초 후 1개 주기가 많거나 적게 될 수 있다. 일상에서 사용하는 모든 활동은 천문현상에 맞춘 시간과 관련이 있다. 즉 해가 뜨고 지는 것을 기준 으로 하루, 달이 차고 지는 것을 기준으로 한달, 지구가 태양을 한번 공전하는 것을 기준으로 일년을 정한다. 그러나 이런 시간 개념은 지구라는 큰 공간에서 각 위치에 따라 모호하기 때문에 시간을 정 하는 기준이 필요하며, 대표적인 것이 UT(Universal Time, 평균태양시)이고, UT는 지구가 태양을 한 바퀴 공전하는 것을 기준으로 한다. UT와 밀접한 관련이 있는 것이 GMT(Greenwich Mean Time) 이며, 1986년 GMT가 UTC (Coordinated Universal Time, 세계협정시)로 교체되었고, 원자시계에 기초한 초 표준을 적용한 TAI(International Atomic Time, 국제원자시)가 UTC에 채용되었다. 그림2 1ppm crystal oscillator 시간의 기본 단위인 초(second)는 지구의 자전 을 86,400으로 나눈 시간 인데, 이는 천문 현상이 일정하지 않고 영속성이 없어 큰 오차 가 있어, 1967년 세계도량형총회(CGPM: General Conference on Weights and Measures)에서 세슘-133의 9,192,631,770 주기를 1초로 정의하고, 이를 SI(International Second)라 명명하였다. 시간은 일정주기를 갖는 현상을 이용하여 정하게 되며, 대표적인 것으로 진자(pendulum) 또는 수정 발진자(crystal oscillator, X-tal)가 있다. 전자장치에서는 수정발진자를 사용하고, 아래 그림과 같이 발진된 횟수를 누적하여 더함으로써 시간을 계산하는 것이 기본적인 방법이다. 이때 더해서 얻은 값 을 어떻게 해석하느냐는 기준시간(epoch)을 정함으로써 가능하다. 즉, 카운터의 값이 0인 시점을 정 하고, 이것을 기준으로 현재의 카운터 값을 해석하여 현재 시간을 확인한다. 기준시간은 표 3에서와 같이 시간분류(time scale)에 따라 다르다. 표4 Oscillator의 정확도 구분 수정발진자의 정확도를 높이기 위해 수정 박편을 잘 만들고, 사용환경에서 온도 변화를 최소화하는 등의 방법을 사용한다. 더욱 정확한 시간이 필요한 경우 원자시계(atomic clock)을 사용하게 된다. 표 4에 발진자의 성능에 따른 구분을 정리하였다. Oscillator Accuracy Error Typical crystal oscillator 100ppm (0.01%) 8.64 sec/day Watch crystal oscillator 20ppm (0.002%) 1.77 sec/day XO (selected-cut X-tal) 1ppm (0.0001%) 86.4 msec/day 그림1 시계의 개념적 블록도 TCXO (temperature 0.1ppm 8.64 msec/day compensated X-tal) MCXO (microprocessor 0.01ppm 8.64 usec/day compensated X-tal) OCXO (oven controlled 0.001ppm 84.6 usec/day X-tal) Rubidum atomic 0.000001ppm 86.4 nsec/day Cesium atomic 0.0000001ppm 8.64 nsec/day 예로써 개인용 Windows 컴퓨터의 명령어 입력 창에서 DATE /T 를 입력하면 현재의 년월일이 출력되고, TIME /T 를 입력하면 시분초가 출력된다. Unix/Linux 컴퓨터에서는 date 를 사용 하면 년월일과 시분초를 출력한다. 이는 컴퓨터 내부에 그림 1과 같이 X-tal과 카운터 그리고 카운터 값을 누적한 값을 저장하는 레지스터 가 있으며, 레지스트의 값은 1970년1월1일을 기점으로 계속 증 가하는 값을 갖고 있다. 시간이란 공통의 기준이기 때문에 지리적으로 떨어져있어도 동일한 값과 의미를 가져야 하지만, 다음 과 같은 원인으로 차이가 발생한다. ➐ Accuracy is how close a measured value is to the actual (true) value. ➑ Precision is how close the measured values are to each other. ➒ 하루=24x60x60 (24시간/하루, 60분/시간, 60초/분) ➓ 1958년 태양년(tropical year)를 31,556,925.9787로 나눈 것을 1초로 정하였다. Copyright 2014 Ando Ki Hydrogen atomic 0.00000001ppm 0.864 nsec/day 3. 시간동기 이론적으로 어떤 발진기도 불변의 특성을 가질 수 없고, 다른 발진기들과 동일 할 수 없으므로, 어떤 형태든 상호 보정하는 과정을 통해 동기시킬 필요가 있다. 동기의 기본 동작은 그림 3과 같이 기준시 간(ideal clock)에 맞추는 것이고, 일정 주기 간격으로 보정을 한다. 이상적인 클럭인 기준시간은 현 실적으로 존재하지 않지만, 여러 GPS를 통해 수신되는 정보를 기준으로 하는 것이 일반적이다. 그림 ~2 millisecond per day The second is the duration of 9 192 631 770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the Caesium 133 atom. (13th CGPM 1967); 133Cs 9,192,631,770 Hz. 22 ㅣ IEEE 1588 PTPv2: 분산시스템 실시간 동기 IEEE 1588 PTPv2: Distributed Real-Time Synchronization ㅣ 23
3에서 스큐(skew)란 클럭들 사이의 차이를 의미하고, 드리프트(drift)는 클럭이 정확한 주파수를 갖지 않아 시간을 정확하게 계산하지 못하는 것을 의미하며, 드리프트율(drift rate)은 그림 3에서 기울기 에 해당한다. 따라서 이상적인 클럭은 드리프트율이 1이 되고, 상대적으로 빠른 클럭은 1보다 크고, 상대적으로 느린 클럭은 1보다 작게 된다. Dynalith Systems 기준시간을 갖는 시간서버가 있는 경우: Cristian Algorithm 시간서버가 없이 상호 시간을 맞추는 경우: Berkeley Algorithm 여기서는 절대시간을 맞추는 것이 필요하므로, Cristian 알고리즘을 설명한다. 시간동기를 해야 할 두 기능블록이 각각 Clock A와 Clock B를 관리하는 경우를 가정하고, Clock A를 Clock B(기준시간) 에 맞추기 위해 상호 연동하는 프로토콜을 그림 5에 정리하였고, 이 방법은 패킷의 왕복시간에 기초 하기 때문에 RTT(Round-Trip Time) 기반 동기화라고한다. Clock A 관점에서 T1에 동기 요청 패 킷을 Clock B로 전송하고, Clock A 관점에서 T4되는 시점에 응답 패킷을 받는다. Clock B는 동 기 요청 패킷을 받은 시점 T2와 응답 패킷을 회신하는 시점 T3을 패킷에 담아 Clock A로 보낸다. 이때 T2와 T3는 Clock B관점의 시간이다. 그림3 시간동기의 개념도 그림5 시간동기 프로토콜 (Clock A가 Clock B 시간에 맞추는 경우) 보정의 대상은 크게 두 가지이다. 즉, 카운터 값이 달라진 경우, 이를 바로 잡는 것과 카운터의 값을 변경하는 주기(period)를 바꾸는 것이다. 전자는 오프셋을 수정하는 것이고, 후자는 주파수를 보정하 는 것에 해당한다. T4와 T1의 시간차는 네트워크를 통해 전송되는 패킷의 왕복에 소요되는 전송지연과 Clock B에서 처 리하는데 소요된 시간 Tp가 되고, Clock A와 Clock B의 시간차를 Toffset 이라 하고, 단 방향으로 패킷이 전송되는데 소요되는 시간을 Tdelay 라 하고, 패킷의 송신과 수신에 소요되는 전송지연이 동 일하다고 가정한다면, 오프셋(offset) 오프셋(offset): 기준시간과 기준시간과 같은 값이 같은 되도록 값이 카운트 되도록 값을 카운트 새로 값을 설정새로 설정 주파수(frequency) 오차가 생긴 정도(drift rate)을 감안하여 카운터를 변경하는 주기 값을 수정 주파수(frequency): 오차가 생긴 정도(drift rate)을 감안하여 카운터를 변경하는 주기 값 을 수 그림 3의 오른쪽 그림에서 보인 바와 같이, 오프셋을 단 번에 수정하게 되면 시간이 역전되는 구간 이 생기고, 이런 현상이 시스템에 문제가 될 수 있는 경우, 주파수 보정을 통해 일정 시간 후 이상적 인 시간과 동일하게 되도록 하는 것이 필요하다. TA = T4 T1 = (round-trip delay) + Tp = 2 x Tdelay + (T3 T2) TA = T4 T2 = T1 T1 = + (round-trip Toffset + Tdelay delay) + Tp = 2 x Tdelay + (T3 T2) T2 = T1 T4 + = Toffset T3 + Toffset Tdelay + Tdelay T4 = T3 Toffset + Tdelay 따라서 위 식들을 정리하여 Toffse과 Tdelay를 계산할 수 있다. Toffset = [(T2 T1) + (T3 T4)] / 2 Toffset = [(T2 T1) + (T3 T4)] / 2 Tdelay Tdelay = [(T4 = T1) [(T4 (T3 T1) T2)] (T3 / 2 T2)] / 2 그림4 클럭 보정의 개념도 그림 4에 카운터를 이용한 예를 보였다. 시간카운터(clock counter)는 초 단위에 해당하는 값과 초 의 소숫점 이하 값을 갖는 부분으로 구성되며, 발진기의 매 주기마다 일정 값을 더하여 변경한다. 이 때 더하는 값을 조정함으로써 발진기의 주기를 보정한 값으로 카운터를 변경하게 되는 것이다. 예로 써, 1Mhz 발진기를 사용한다면 보정레지스터(adjustment register)의 값이 기본적으로 10-6이어야 하지만, 해당 발진기가 이상적인 발진기에 비해 빠르다면 보정 값을 10-6보다 작은 값으로 하고, 그 반대이면 10-6보다 큰 값으로 한다. 카운터와 고정 주파수 발진기 대신 전압조정발진기(VCO, Voltage Controlled Oscillator)를 이용하여 구현할 수도 있고, 이 경우 필요에 따라 발진기의 주파수 결 정 전압을 조정하여 필요한 주파수로 보정한다. 네트워크로 연결된 여러 기능블록이 상호 시간을 동기시키는 방법에는 크게 두 가지가 제안되어 있다. 관련 웹 사이트 따라서 Clock A에 Toffset 만큼 더하여 기간을 보정하고, Toffset과 Tdelay를 처리하는 알고리즘으 로 클럭 주파수를 보정한다. RTT 기반 동기화는 패킷의 송신과 수신에 소요되는 전송지연이 동일하다고 가정하고, 송수신 시간이 같지 않은 비대칭의 경우 오차가 생기게 되며, 그림 5에서 시간동기의 오차에 가장 크게 작용하는 것 이 시간동기에 사용하는 패킷의 송신과 수신에 적용하는 시간측정이다. 예로써, 운영체제의 제어를 받 아 동작하는 통신프로토콜스택은 수 msec 이상의 지연과 비대칭성이 있고, MAC(Media Access Controller)와 PHY에서 수~수백 nsec 이상의 지연과 비대칭성이 있다. 따라서 패킷을 생성할 때 확보한 시간정보(T1, T2, T3, T4)가 매우 큰 범위로 오차를 갖게 되고, 이 것이 전송시간을 정확하게 측정할 수 없도록 한다. 이런 이유로 실시간 응용에는 보다 정밀한 방법이 필요하게 된다. http://www.nist.gov/el/isd/ieee/ieee1588.cfm: National Institute of Standard and Technology http://www.ines.zhaw.ch/en: Institute of Embedded Systems http://www.ietf.org: Internet Engineering Task Force http://www.ntp.org: Network Time Foundation http://www.eecis.udel.edu/~mills: David L. Mills 24 ㅣ IEEE 1588 PTPv2: 분산시스템 실시간 동기 NTP 표준에 따라 32-비트 폭으로 초를 표현하므로, 2036년2월8일까지가 최대 표현 가능 시간이 된다. 1ppm은 1초에 +/-1milisecond 오차를 의미한다. 빨라진 클럭을 과거 시간으로 수정하게 되면, 일정 시간 동안 시간이 역행한 것으로 보이게 된다: Tc Tr로 수정하게 되면, Tc>Tr의 관계로 인해 시간이 역행한 것으로 됨. Copyright 2014 Ando Ki 예로써, 125Mz 클럭의 경우, 매 클럭마다 8nsec를 더해야 하지만, 클럭의 상대적 속도에 따라 7 또는 9 nsec를 더하도록 카운터를 구현한다. Clock A가 Clock B보다 Toffset 만큼 늦다고 가정한다. Tdelay = (T4 T1 Tp) / 2; 단, Tp를 알 수 있고, 패킷의 송신과 수신에 소요되는 지연시간이 동일하다고 가정 IEEE 1588 PTPv2: Distributed Real-Time Synchronization ㅣ 25
IDEC inside 5 / 신진연구자 클라우드 컴퓨팅을 위한 시스템 기술 목표의식을 갖고 연구자의 길을 걷다 차세대 통신 시스템에서는 에너지 효율성을 극대화하고 하드웨어 복잡도를 줄이기 위해 서 송신기의 RF Chain 수를 줄이면서도 스펙트럼 효율을 유지하기 위한 다양한 신호처 리 기술이 도입될 것으로 기대된다. 김태환 교수는 이러한 신호처리 기술들과 이를 효과 적으로 구현하기 위한 하드웨어 구조에 대해 연구하고 있다. 그리고 스마트 카메라 시스 템을 위한 실시간 광학 왜곡 보정 및 안개 제거 기술과 이를 효과적으로 구현하기 위한 하드웨어 구조에 대한 연구도 진행 중이다. 네트워크 기반의 클라우드 컴퓨팅이 새로운 컴퓨팅 패러다임으로 주목 받고 있는 지금 이 런 환경에서 각 단말은 Thin Client 형태로 변모하고 있다. 이런 형태의 단말에서 가장 중 요한 기능 중의 하나인 클라우드 인프라와 각 단말 사이의 Connectivity 기술이다. Connectivity와 관련된 신호처리 알고리즘과 이 를 효율적으로 구현하기 위한 시스템 기술을 연구하고 있는 한국항공대학교 항공전자 및 정보통신공학부에 재직 중인 김태환 교수를 만나 그간의 연구 인생에 대해 들어보았다. 공학자로서의 정체성을 정립할 수 있었던 소중한 대학원 시절 KAIST 전자공학과에서 박사학위를 받고 2011년도에 한국항공대학교 항공전자 및 정보 통신공학부에 임용된 김태환 교수는 어릴 때부터 프로그래밍에 대한 로망이 있었다고 한 다. 중 고등학교 시절에는 수학을 좋아했습니다. 그래서 컴퓨터 공학이나 전산 분야 를 배우고자 관련 전공이 있는 학부로 입학을 했어요. 하지만 신호처리 및 회로, 시스템 관련 설계 과목 수업을 흥미롭게 듣고 전자공학이 적성에 맞는 거 같았죠. 김태환 교 수는 석 박사 과정 중에는 MIMO-OFDM 기반 통신 시스템의 기저대역 신호처리 및 이 에 대한 효율적인 구현 등 <디지털시스템 설계>와 관련한 다양한 연구를 수행했다. 또한, <범용 임베디드 프로세서 설계>, <음향 합성 프로세서 설계>, <RF-ID 모뎀 설계> 등의 연구과제와 졸업 후 삼성전자 DMC 연구소에서 <Connectivity SoC 설계>도 수행했다. 그는 교수님의 지도를 대학원 시절 중 가장 기억에 남는 거로 꼽았다. 지금 생각해보 면 연구에 집중할 수밖에 없었던 그런 시간이 공학자로서의 정체성을 정립할 수 있었던 소중한 시간이었다고 생각됩니다. 그런 기회를 주셨던 지도교수님께 너무나 감사한 마음 을 갖고 있습니다. 하드웨어와 소프트웨어가 통합된 연구 문의 한국항공대학교 항공전자 및 정보통신공학부 회로및시스템연구실 전화 02-300-0140 E-mail taehwan.kim@kau.ac.kr Homepage http://cas.kau.ac.kr 김태환 교수는 범용 프로세서의 성능 향상 및 GPGPU 등과 같은 새로운 컴퓨팅 플랫폼 의 출현에 따라 전용화된 하드웨어 가속기를 통해 구현했던 기존의 다양한 응용 들이 차 츰 소프트웨어 구현으로 대체될 것으로 예상했다. 그리고 단말의 에너지 효율성을 극대 화와 단가절감을 위해 단말의 형태가 클라우드 인프라의 Thin Client로 축소할 것으로 보고 있다. 이런 상황에서 전용화된 하드웨어 가속기를 통한 하드웨어 구현이 필요한 응용 분야는 더욱 한정될 것입니다. 이런 상황에서 기존의 시스템 반도체 설계자들에게 하드웨어 및 소프트웨어가 통합된, 시스템 관점에서의 통찰력과 새로운 설계 기술의 습 득이 더욱 중요해질 것이라 봅니다. 목표의식을 갖고 연구자의 길을 걷다 연구 진행의 어려움이 없었느냐는 질문에 김태환 교수는 지식의 부족함에 관해서 이야 기를 했다. 제가 연구하는 분야는 복잡한 알고리즘을 효율적인 시스템으로 구현하는 것입니다. 이를 위해서는 해당 알고리즘에 대한 지식에서부터, 하드웨어 구조 및 구현 기 술, 검증 등의 다양한 수준의 매우 폭넓은 지식이 요구되죠. 라며 언제나 공부하고 배 우는 자세로 임하고자 노력을 하고 있다고 덧붙였다. 김태환 교수는 연구자에게 목표 의식 이 필요하다고 강조했다. 저는 항상 목표의식을 분명히 하고자 합니다. 그리고 부족함을 가정하고 더 많은 노력을 통해서만 남들만큼 할 수 있다는 겸손한 생각을 가지 려 합니다. 동종 분야의 많은 동료, 선후배 연구자들 모두가 각자의 연구에 매진하여 좋은 성과를 이루어 냈으면 좋겠다는 따뜻한 당부를 잊지 않던 그의 목소리에서 신진연 구자로서 앞으로의 연구 활동에 대한 희망이 느껴진다. 김 태 환 교수 한국항공대 항공전자 및 정보통신공학부 26 ㅣ 신진 연구자