EMBEDDED SYSTEMS Jo, Heeseung
Embedded Systems Everywhere 2
임베디드시스템개요 임베디드시스템? 정해진특정기능을수행하기위해하드웨어와소프트웨어가내장된전자제어시스템 마이크로프로세서가내장 - 마이크로프로세서를운용하여원하는작업을수행및관리하는프로그램이포함된시스템을의미 자동차, 우주, 항공, 군사, 의료장비와공정제어등산업용 가전제품, 스마트폰등영역을확대 - 스마트폰이나인터넷접속이가능한스마트TV - 휴대가간편한 Tablet PC - 원격모니터링기능을갖는보일러등 3
임베디드시스템개요 현재의임베디드시장 대량생산을기반으로형성되는가격구조 초기개발비용중요 소프트웨어를구비하기위한대당비용 지속적인개발과유지보수를위한기술지원비용 임베디드시스템의발전 소프트웨어의확장성에관한시장의요구 점점더개방적인운영체제가환영받고있음 임베디드리눅스는이러한요구에대한가장적절한솔루션으로부각 Android, Meego, Limo, Bada, Tizen 등은모두리눅스를기반으로발전 4
임베디드리눅스 운영체제 컴퓨터시스템계층구조에서하드웨어의제어를담당하는시스템소프트웨어 시스템의여러자원을관리 - CPU, 메모리, I/O 장치 ( 파일시스템, 각종입출력장치, 네트워크,...) 자원의공유 & 보호 현재의운영체제는용도에따라크게두가지분류 서버또는개인용컴퓨터 - Unix, Linux, MS Windows, MacOs,... 임베디드시스템 - 실시간운영체제 (RTOS): 엄격한시간제약성을만족시켜야하는환경 - VxWorks, psos, QNX, VRTX, nucleus, LynxOS, ChorusOS, QnX Neutrino, RTEMS, OS9, RealTime Linux,... 5
임베디드리눅스 운영체제 과거에는많은임베디드시스템들이운영체제없이개발됨 최근에는대부분의임베디드시스템들이어떤형태든운영체제를가지고개발됨 더좋은성능을가진복잡한하드웨어가사용되고예전과는비교할수없는많은소프트웨어기능이요구되기때문 개인장비용임베디드운영체제 Apple ios Google Android (?) 삼성의 Bada, Tizen Meego, Limo, BrewMP, Windows Phone 7,... 6
임베디드리눅스 기존임베디드운영체제의한계점 (vs. Embedded Linux) 완전한기능을가진운영체제가아님 - 소량의메모리에대처하기위해필요한최소한의기능만을제공 - 복잡한응용프로그램이요구하는운영체제의기능을다수용하지못함 - 실시간운영체제는쓰레드실행구조 변화하는사용자의요구에대처가어려움 - 운영체제의기능추가, 성능향상, 기타문제점해결에빠르게대처하지못할가능성이높음 초기구입비용및사용료가높음 7
임베디드리눅스 임베디드리눅스의장점 모든소스는공개 - 개발환경이기본적으로제공 - GNU 개발도구는리눅스에서커널을포함한모든응용프로그램을개발하는데사용가능 완전한운영체제 - 완벽한멀티태스킹환경, 페이지기반의가상메모리시스템, 공유라이브러리, 인터넷접속을위한 TCP/IP, 여러가지파일시스템 모듈단위설계 - 필요한기능과하드웨어장치에따라최적화된구성가능 메모리사용량을최소화 - 대부분의장치드라이버들은커널실행중에추가또는제거가능 좋은확장성 8
임베디드리눅스 임베디드리눅스의장점 새로운 CPU나시스템에쉽게이식될수있는구조 많은장치드라이버가제공 기술지원에필요한비용절감 - 많은사용자와개발자가참여 - 새로개발되는기술이가장먼저실험되고증명되는 testbed 어떤기술의개발초기시장점유를달성하기에가장유리한운영체제 9
CLASSES OF COMPUTERS Server computers Network based High capacity, performance, reliability Range from small servers to building sized Desktop computers General purpose, variety of software Subject to cost/performance tradeoff Embedded computers Hidden as components of systems Stringent power/performance/cost constraints 10
WHAT ARE EMBEDDED SYSTEMS? Embedded systems (ES) Any device that includes a programmable computer but is not itself a general-purpose computer Take advantage of application characteristics to optimize the design 11
Embedding a Computer 12
WHERE ARE THE CPUS? Estimated 98% of 8 billion CPUs produced in 2000 used for embedded applications Smartphone shipments (101M) surpass PCs (2010 Q4) 13
EMBEDDED PROCESSORS Microcontroller (μc or MCU) A small computer on a single IC containing a processor core, memory, and I/O peripherals Microprocessor A general-purpose CPU in a single chip SoC (System-on-a-Chip) More integration than MCU Mostly, require external memory 14
EARLY HISTORY (1) MIT Whirlwind computer (Late 1940's) Originally designed to control a flight simulator for training bomber crews The first computer that operated in real time 5000 vacuum tubes 15
EARLY HISTORY (2) Intel 4004 (1971) The first microprocessor (4-bit) Originally designed for use in a calculator The first complete CPU on one chip The first commercially available microprocessor 2300 transistors @ 108KHz 16
EARLY HISTORY (3) Automobiles used microprocessor-based engine controllers starting in 1970's Control fuel/air mixture, engine timing, etc. Multiple modes of operation: warm-up, cruise, hill climbing, etc. Provides lower emissions, better fuel efficiency 17
Keyboard 18
Mouse 19
Hard Disk Drive 20
Solid State Disk/Drive 21
Digital Camera 22
iphone 3G 23
Galaxy S3 24
Digital TV 25
AUTOMOBILE A high-end automobile > 100 microprocessors 4-bit microcontroller checks seat belt Microcontrollers run dashboard devices 16/32-bit microprocessor controls engine 26
ES CHARACTERISTICS Single-functioned Executes a single program, repeatedly Sophisticated functionality Often have to run sophisticated algorithms or multiple algorithms - Cell phone, laser printer Often provide sophisticated user interfaces 27
ES CHARACTERISTICS Reactive and real-time operation: Must finish operations by deadlines Continually reacts to changes in the systems environment Hard real-time: missing deadline causes failure Soft real-time: missing deadline results in degraded performance Many systems are multi-rate: Must handle operations at widely varying rate 28
ES CHARACTERISTICS Low cost Manufacturing cost - The monetary cost of manufacturing each copy NRE (Non-Recurring Engineering) cost - The one-time monetary cost of designing the system Many embedded systems are mass-market items that must have low manufacturing cost Limited memory, microprocessor power, etc. Low power Power consumption is critical in battery-powered devices Excessive power consumption increases system cost even in wall-powered devices 29
ES CHARACTERISTICS Designed to tight deadlines by small teams Often designed by a small team of designers Often must meet tight deadlines - 6-month time-to-market is common Many design alternatives Hard to develop and debug 30
CHALLENGES IN ES DESIGN How much hardware do we need? Powerful CPU? Big memory? How do we meet our deadlines? Faster hardware or cleverer software? How do we minimize power? Turn off unnecessary logic? Reduce memory accesses? Time-to-market? 31
CHALLENGES IN ES DESIGN Does it really work? Is the specification correct? Does the implementation meet the spec? How do we test for real-time characteristics? How do we test on real data? Does it work reliably? How do we work on the system? Observability, controllability? What is our development platform? 32
CHALLENGES IN ES DESIGN Optimizing design metrics Improving one may worsen others (trade-off) Expertise with both software and hardware is needed to optimize design metrics A designer must be familiar with various technologies in order to choose the best for a given application and constraints 33