스마트 인터페이스 및 실습 - 스마트 기기및 프로세서 2 주 차 김 상 연
정의 Smart Device 장소의 구애를 받지 않으며 직관적 인터페이스를 기반으로 하여 다 기능을 수행하며 응용 프로그램들을 통해 기능을 변경하거나 확장할 수 있는 기기 주요 컴포넌트 Hardware OS Microprocessor 기반, Sensor 및 actuator 안드로이드, i-os. Middle ware WAC, QT Application 2
스마트 기기 고유 기능 + 작은 나만의 PC Smart Device 예) 스마트폰 휴대전화 기능 네트워크 기능 정보검색 기능 스케쥴관리 기능 멀티미디어 기능 개인정보 관리 기능 3
4
일반 휴대기기와 스마트 기기의 차이점 휴대폰 기준 전자통신동향분석 제 25권 제 3호 스마트폰용 모바일 소프트웨어 플랫폼 동향 5
일반 휴대기기, 스마트 기기,PC 구분 노트북 PC 스마트폰 휴대폰 운영체제. 범용 OS 탑재. Microsoft OS가 사실상 독 점. 범용 OS 탑재. IOS, 안드로이드, 윈도 우 모바일, 심비안 등 다 수. 제조사별 전용 OS 탑 재 응용 소프트웨어. 제3자 개발 소프트웨어 적용 용이. 온/오프라인을 통해 개별 구 입. 제3자 개발 소프트웨어 적용 용이. 디지털 오픈 장터를 통 해 구입 (앱 스토어, 안 드로이드 마켓 등). 제조사가 대부분의 소 프트웨어 제공. 제3자개발 소프트웨어 적용이 제한 인터넷 접속. WiFi, 3G/LTE망 이용. WiFi, 3G/LTE망 이용. 3G망 이용. 일부단말기 WiFi 지원 6
범용 OS 를 사용 스마트 기기의 특징 PC 의 윈도우, 리눅스와 같이 H/W, S/W 를 제어하여 컴퓨터를 사용 할 수 있게 만들어 줌 대표적인 OS 노키아 : 심비안 애플 : ios Google : 안드로이드 MS : 윈도우 모바일 7
스마트 기기의 구조 (스마트 폰 기반) 터치 스크린 또는 키 패드를 입력으로! 고성능 Application Processor와 Baseband Processor를 포함 Application Processor (AP) OS 및 어플리케이션들을 구동시키며 (CPU 역할) 어러 시스템 장치및 인터페이스를 제어하는 기능(chip)을 하나의 칩에 모두 포함하여 만든 프로세서 (일종의 System-on-Chip) Baseband Processor (BP) 네트웍 인터페이스를 위한 디바이스 모든 안테나를 필요로 하는 radio function 들을 다룸 (WIFI 나 Bluetooth는 제외) 8
Radio performance AP와 BP를 분리하는 이유 Radio 제어기능들 (Signal modulation, encoding 등)은 매우 시간에 의존적임 (Highly time dependant) Real-time OS 가 필요 Legal 휴대용기기와 통신하는 모든 디바이스에서 동작하는 모든 software stack 은 certify되어야 함 BP를 다른 component 들과 분리함으로 모든 AP에 대하여 certify 받 을 필요가 없다. Radio reliability BP를 다른 component와 분리하여 OS 가 달라지거나 Application이 달라지더라도 radio operation이 가능하게 함 * Radio : 전파의 변조를 통해 신호를 전달하는 기술 9
스마트폰의 구조 음성통신용 Power management www.ifixit.com 10
Components 스마트 폰의 컴포넌트 AP (Application Processor) BP (Baseband Processor) DDR SDRAM, NAND Flash, 등의 메모리 RF (파워 앰프, 트랜시버 포함) Connectivity (WiFi, Bluetooth 포함) 오디오 GPS, 가속도 센서, 자이로센서 등의 센서 배터리 PMIC 모듈 터치스크린과 터치 센서는 독립모듈로 구성됨 11
Application processor AP 및 BP OS 및 사용자의 응용 프로그램을 실행 타 부품을 제어하는 스마트 기기 (스마트 폰)의 핵심 CPU BaseBand Processor RF 모듈을 통해서 3G/LTE 네트워크를 통한 데이터 송수신을 가능하 게함 음성 및 영상 통화를 가능하게 함 12
스마트 기기에 사용되는 센서들 카메라 지자기 센서 가속도 센서 (G 센서) GPS 조도 센서 근접 센서 기타 센서 13
카메라 카메라 카메라에 포착된 사물이나 표식, 바코드 등을 인식해서 다양한 서 비스 제공 적용 사례 QRooQRoo, 영상인식 기반 증강현실 ikat 등
카메라 application의 예 바코드, QR코드(2차원 바코드)를 읽어 해당 상품에 대한 이미지, 가격, 브랜드 정보를 표시함. http://www.ddaily.co.kr/news/news_view.php?uid=63742
카메라 application의 예 카메라로 읽어들인 실제 영상에 가상의 영상을 붙여 좀더 많은 정보를 제공해 줌 http://www.leejeonghwan.com/media/archi ves/001632.html
지자기 센서 지자기센서 지구의 자기장의 흐름을 detection 하여 나침반처럼 방위각을 탐지 자기장의 세기를 측정하는 센서가 x,y,z 축 방향으로 연결 이 세개의 센서 출력값을 벡터적으로 합산하여 자기장의 방향을 측 정
디지털 나침반 현재 위치의 지리적 좌표에 따라 사용자가 향한 방향을 표시함. http://bzt-inside.tistory.com/1209
가속도 센서 G센서(=중력센서=가속도센서) 중력이 어느 방향으로 작용하는지 탐지 이동하는 물체의 가속도나 충격의 세기를 측정 적용 사례 화면의 기울기에 따라 세로/가로보기 전환 통화 중 폰을 흔들면 주변 소음제거 기능 자동 동작
GPS 지구 주위 다수의 GPS 위성간의 시간차를 계산해서 현재의 위치를 식별함. 위성에서 나오는 전파가 도달할 때까지의 시간차를 이용해 현재의 위치를 계산
조도센서 기타 센서 주변의 빛의 양을 측정하는 센서 주변의 밝기에 따라 LCD 조명 조절 근접센서 기기에 접근하는 물체를 감지하는 센서 통화 시 폰을 귀에 대면 액정 전원 차단(절전기능) 통화 시 다가오는 얼굴을 인식. 오작동 방지
자외선센서 자외선 지수 측정. 일본 샤프의 휴대폰 기타 센서 화재 감지/경보 기능으로 응용 가능. 화학물질 감지 센서 공기 중의 독성화학물질 감지 센서 및 경보 프로그램 개발 중 (미국 국토안보부)
Embedded System 임베디드 시스템 특정 목적으로 사용되는 시스템 소프트웨어 (펌웨어) 하드웨어 (마이크로프로세서) 23
ARM Powered Products 24
8비트 ßà 32비트 25
ARM 프로세서 Advanced RISC Machine의 약자 (www.arm.com) 영국의 Acorn Computers사에서 1985년 ARM1 프로토타입 개발이 효시 ARM 코어를 이용하여 타사에서 필요에 따라 다양한 조합 을 만들 수 있도록 허용하여 여러 가지 ARM 제품군이 등장 장점 유사한 설계 원칙 공통의 명령어 세트 공유 코드의 고집적도와 저전력 소비 다량 생산을 통한 저가격화 26
ARM 프로세서의 역사 1983년: Acorn Compyter Ltd.에서 개발 시작 Roger Wilson과 Steve Furber가 8비트 6502 프로세서에 기초하여 작업 1985년: ARM1 샘플 개발 1986년: ARM2 개발 3만 여개의 트랜지스터 집약으로 80286 보다 낮은 클록에도 불구하고 성능은 더 나은 결과를 보임 1990년: ARM으로 회사 이름 개명 1991년: ARM6 개발 Apple의 Newton PDA에서 사용 (ARM 610) 1993년: ARM7 개발 본격적으로 ARM 프로세서가 임베디드 시장에 보급되는 계기 1997년: ARM9 개발 ARM7에 비해 많은 부분에서 성능 개선 1998 년: 노키아 6110 GSM 폰에서 ARM 프로세서 채택 2006년: ARM11 상품 출시 2006년 : ARM Cortex 개발 2008년 : ARM Cortex 상품 출시 (Luminary Micro 사에서 MPU개발) 2014년 : Cortex M4 27
ARM 프로세서의 종류 영국의 ARM 본사에서는 실제 프로 세서를 제조하지 않음 코어만 제작하며, 코어 주변에 여러 가지 부가 기능을 넣어 최종 제품은 각 반도체 회사에 라이선스를 부여 하여 제작 따라서 코어 이름은 ARM7, ARM9 과 같이 사용하더라도 실제 제품명 은 제조 회사마다 모두 다르게 부름 예) intel의 ARM 프로세서 종류: StrongARM(ARM7), Xscale(ARM9) 삼성전자의 ARM 프로세서 종류: s3c241x(arm7), S3C244x(ARM9) 프리스케일사의 ARM 프로세서 종류: i.mx21(arm9) 28
ARM 프로세서의 시장 점유율 2001년 임베디드 RISC 시장의 78% 점유 2004년 13억개의 프로세서 출하 2006년 전세계 판매되는 휴대폰의 80% 이상이 ARM 프로세서 사용 모토롤라 반도체 사업본부 Roy Druian 기술 마케팅 과장 ARM CPU가 얼마나 널리 사용되고 있는지를 알게 되었을 때 우리가 자 체 코어를 개발하기 위해 돈을 쏟아 붓는 것이 완전히 낭비라는 사실을 깨달았다. 시장에서 성공 요인 가격대비 성능이 뛰어남 성능 대비 소비 전력이 매우 낮음 쉽고 짧은 디자인 시간 C 언어로 설계, 내부 버스 공개로 인한 개발 시간 단축 29
CISC vs. RISC 컴파일러 구현 어려움 하드웨어 구현 어려움 컴파일러 구현의 어려움 하드웨어 구현 어려움 CISC (Complex Instruction Set Computer) 특수 목적에 사용되는 전용 레지스터와 명령어 셋트 존재 컴파일러의 복잡도는 감소, 하드웨어 복 잡도 증가 90년대 초반까지는 CISC 프로세서가 주종 을 이룸 RISC(Reduced Instruction Set Computer) 자주 사용하는 명령어만 존재 복잡한 명령어는 자주 사용하는 명령어의 조 합으로 구현 하드웨어 내부 구조의 단순화로 인한 저 전력 소비 30
RISC 프로세서의 특징 명령어 자주 사용하는 기본적인 명령어만 채택 일정한 길이를 가짐 => 파이프 라인 구조에서 장점으로 부각 레지스터 범용 레지스터를 다수 개 가짐 효율적인 컴파일러 구현 가능 파이프라인 구조 이상적인 경우 한 머신 사이클에 한 명령어 수행 31
ARM 프로세서의 특징 전통적인 RISC 프로세서의 특징을 가짐과 동시에 CISC의 장점 일부을 수용 RISC 프로세서 특징 상대적으로 큰 레지스터 파일 단순한 어드레싱 모드 통일된 고정 길이의 단순한 명령어 결과 작은 코드 크기 작은 칩 크기 CISC 프로세서 특징 고성능 저전력 강화된 ALU와 쉬프트(shift) 연산자의 조합 명령어 조건부 분기문의 다양화 32
속도의 증가 Pipeline Organization 대부분의 instruction 들이 single cycle 에! Versions: 3-stage (ARM7TDMI and earlier) 5-stage (ARMS, ARM9TDMI) 6-stage (ARM10TDMI) 33
Pipeline Organization (2) 3-stage pipeline: Fetch Decode - Execute i n s t r u c t i o n i Fetch Decode Execute i+1 Fetch Decode Execute i+2 Fetch Decode Execute t t+1 t+2 t+3 34t+4 cycle 34
5-stage pipeline Pipeline Organization (3) Data 와 instruction 메모리의 분리 CPI (Cycle Per Instruction) 의 감소 Fetch Decode Execute Buffer/data Write-back 35
Noise를 차단 Reboot 용 push SW 갑작스럽게 많은 전원을 소비할 경우 회로부가 정지되는 것을 방지 36
전원 공급 (Vbat, VDD 부분) 건전지 전원과 일반 전원 두개 사용가능 Regulator 사용 (NCP1117) 불안정한 전원을 안정적으로 공급을 위하여 37
모터 구동 진동 모터 동작 확인 모터 (또는 펠티어) 구동 TA8050P 이용 38