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