220 likes | 422 Views
Embedded Systems Reading Group. Tulika Mitra Department of Computer Science tulika@comp.nus.edu.sg. Motivation. To learn the state-of-the-art in embedded systems research Provide interaction among people interested in this exciting emerging area For graduate students:
E N D
Embedded Systems Reading Group Tulika Mitra Department of Computer Science tulika@comp.nus.edu.sg
Motivation • To learn the state-of-the-art in embedded systems research • Provide interaction among people interested in this exciting emerging area • For graduate students: • How to perform effective literature survey • Presentation skills • How to participate in small group discussions
Computing Systems • Most of us think of desktop computers • PC • Laptop • Mainframe • Server • Maybe at most handheld computer (PDA) • Now we will look at another type of computing system which is far more common that you ever imagined
Embedded System: What ? • Computing system embedded within electronic devices • Any device or collection of devices that contain one of more dedicated computers, microprocessors, or micro-controllers • Combination of computer hardware and software designed to perform a specific function • Broad definition: Any computing system that is not a desktop computer
Embedded System Types • General purpose computing • Control systems • Signal processing • Communication & Networking
Embedded System Market • Average household uses about 225 embedded processors; about 35 for the automobile itself • Estimated 5 billion embedded processor in use --- 94% share of world market; Intel Pentium, Motorola PowerPC, etc. combined is only 6% [source: World Semiconductor Trade Statistics Bluebook]
Embedded systems characteristics: User’s viewpoint • Single function • Dedicated to a task or tasks • Tight constraints • Size, power, cost, time-to-market • Real time and reactive • Respond to environment in real time • Safety critical • Failure of hw/sw can be life threatening
Embedded system’s characteristics:Developer’s viewpoint • Concurrent development of hardware and software: hardware/software codesign • Variety of microprocessors • Variety of operating systems mostly real time (RTOS) • May not even have any OS services like ‘printf’ • Fewer system resources than desktop system • Requires specialized development tools • Debugging extremely difficult • Hardware and software should be extremely robust
Minimally Requirement for an Embedded System Address Bus NMI Other Peripheral Devices Data Bus Microprocessor Status Bus Glue Logic and Address Decode To Outside World Clock Generation and Distribution Random Access Memory - RAM I/O Interface ( D/A, A/D, Digital ) Read Only Memory - ROM ( FLASH ) Communications To outside world To other devices To host Computer To User I/F Watchdog Timer Real Time Clock A typical embedded system Source: Arnold S. Berger
Peripheral Bus To Outside World DEBUG Port • Non-volatile memory • EPROM, FLASH, DISK • Hybrid • Custom Devices • ASIC • FPGA • PAL • Microprocessor • 4, 8, 16, 32, 4 bit bus • CISC, RISC, DSP • Integrated peripherals • Debug/Test Port • Caches • Pipeline • Multiprocessing Systems • Standard Devices • I/O Ports • Peripheral Controllers • Volatile Memory • DRAM, SRAM • Hybrid • Communication Devices • Ethernet • RS-232 • SCSI • Centronics • Proprietary • System Clocks • RTC circuitry • System clocks • Integrated in uC • Imported/Exported • Software • Application Code • Driver Code / BIOS • Real Time Operating System • User Interface • Communications Protocol Stacks • C, C++, Assembly Language, ADA • Legacy Code • Microprocessor Bus • Custom • PCI • VME • PC-102 Elements of an embedded system Key Point: Although vastly different in complexity and design, common architectural traits allow us to design and debug a wide variety of systems Source: Arnold S. Berger
Design Choices Flexibility Speed
Driving Factor • Moore’s Law • Predicted by Intel co-founder Gordon Moore ’65 • IC transistor capacity has doubled roughly every 18 months for the past several decades • Process technology can put more and more functionality on the same chip as CPU at reduced cost Source: Intel
System-on-a-chip (SOC) • A microprocessor plus additional peripheral support devices integrated into a single chip • Example: Intel StrongARM Source: Intel
Liming Factor • Design productivity gap • Growing design gap between what technology can offer and our ability to design in that technology Source: ITRS’99
Core based SOC design • Intellectual Property (IP) circuits or cores are pre-designed and pre-verified functional units • IP s are reusable implying lower design cost • Core examples: • Processors: ARM, PowerPC, .. • Memory: RAM, memory controller, … • Peripherals: PCI, DMA controller, … • Multimedia: MPEG/JPEG encoder/decoder… • Digital Signal Processor (DSP) • Telecommunication: Ethernet controller, router, ..
Sequential program code (e.g., C, VHDL) Behavioral synthesis (1990's) Compilers (1960's,1970's) Register transfers Assembly instructions RT synthesis (1980's, 1990's) Assemblers, linkers (1950's, 1960's) Logic equations / FSM's Logic synthesis (1970's, 1980's) Machine instructions Logic gates Implementation Microprocessor plus program bits: “software” VLSI, ASIC, or PLD implementation: “hardware” Hardware/Software Co-design • In the past: • Hardware and software design technologies were very different • At present • Recently matured synthesis technique enables a unified view of hardware and software The choice of hardware versus software for a particular function is simply a tradeoff among various design metrics, like performance, power, size, cost, and especially flexibility; there is no fundamental difference between what hardware or software can implement. Source: Vahid/Givargis
Embedded Systems Faculty • Tulika Mitra • Computer architecture, real time systems • Abhik Roychoudhury • Modeling, validation of embedded & real-time sys • P. S. Thiagarajan • Specification, verification, synthesis • Wong Weng Fai • Compilers, computer architecture
Our research • Formal specification, verification and synthesis methods • Compilers and Architectures for Embedded Systems • Real time systems • Power Aware Computing • http://www.comp.nus.edu.sg/~embsys
Reading group topics • Case Study • Specification • Verification • Custom processors • Re-configurable logic • Design space exploration • Real time systems • Low power • Code compression • Code generation • Memory optimization
Format • Each week one of you will be responsible for a topic or a sub-topic • Please prepare one page summary about the topic including the references • Presentation can be in any format • You will lead the discussions through your presentation • Others should read the references before or after the presentation (preferably before)