Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering National Taiwan University
Computing Systems Desktop –PC, Workstations, Laptops Servers –Tier-0: network appliance –Tier-1: webserver –Tier-2: application/database server –File servers, Storage-area-network Embedded Systems –PDA –Cellphone –Routers –Microcontrollers
Embedded? Computing system embedded within electronic devices. Combination of computer hardware and software designed to performance a specific function. Any computing system that is not a desktop computer nor a server.
Area of Applications General purpose –PDA Control systems –Electronics, Automotive Signal processing –Media player, Camera Communication –Cellphone, switch
Market Average household uses ~225 embedded processors; about 35 for automobile Estimated 5 billion embedded processors in use –94% share of world market –6%: Pentium, PowerPC, etc. [Source: World Semiconductor Trade Statistics Bluebook]
Key Issues User ’ s Point of View Single function/application –Dedicated to specific type of tasks Tight constraints –Size –Power –Cost –Time-to-market Real-time –Respond to environment in real time Safety/Reliability –Failure can result in critical damages
Key Issues Developer ’ s Point of View Concurrent development of HW and SW, i.e. HW/SW codesign Wide selection of uP ’ s. Wide selection of OS, mostly real time (RTOS) Few system resources Specialized development tools Debugging skills important Robust HW/SW
Example
Elements
Trends High level of integration –System-on-chip (SoC) –Multiprocessor System-on-Chip (MPSoC) HW/SW co-design –Concurrent development –Optimization Design flow –Design tools –Experiences
Microcontroller Usually a simple uP plus peripheral support devices integrated in a single package
SoC A uP plus peripheral support devices integrated in a single chip E.g. Intel StrongARM SoC vs uController?
SoC Design Intellectual Property (IP) –Circuits or cores pre-deisgned/pre-verified for certain functions –Implications: Lower design cost Fast time-to-market
Requirements Functional –Functions –I/O Non-functional –Performance –Cost –Power consumption –Size/weight
Architecture How to implement the specifications –Components –System structure –Hardware/software partitioning HW/SW work together to solve a problem Partitioning decided by –Performance –Flexibility –Cost
Architecture Design
Designing An Embedded System Understand the big picture Understand the details Design SW with –Real time constraints –Low power –Small code size Domain-specific knowledge