
ee54a91fa0f12c66c81f8bbf6ac3f53f.ppt
- Количество слайдов: 21
L 29: Lower Power Embedded Architecture Design 성균관대학교 조 준 동 교수, 1999. 8 http: //vada. skku. ac. kr
Low Power MPU
Levels for Low Power Design
Present- Day Digital Systems • Current systems are complex and heterogenous Contain many different types of components – – – Programmable and Re-configurable processors Application- specific integrated circuits (ASICs) Application-specific Instruction processor (ASIP) Read- Only Memory (ROM) and RAM I/ O devices and circuitry • Typically designed from a (large) software specification • These heterogenous systems are called embedded systems
Embedded System Characteristics • Limited user programmability – Completely transparent to user, e. g. automotive engine control – Limited user interface e. g. , intelligent telephones – Programmable through application specific language e. g. , postscript printer • Real- time response No batch processing
Embedded Systems: Products - 1 Consumer Electronics HDTV Computer Related CD player personal digital video game assistant video tape recorder printer programmable TV disc drive camera music system multimedia subsystem Communications graphics subsystem cellular phone graphics terminal video phone fax modems PBX
Embedded Systems: Products - 2 • Control Systems – – Automotive: engine, ignition, brake system Manufacturing process control: robotics Remote control: satellite control, spacecraft control Other mechanical control: elevator control • Office Equipment – smart copier, printer, smart typewriter, calculator – point- of- sale equipment, credit- card validator, UPC code reader, cash register • Medical Applications: instruments( EKG, EEG), scanning, imaging
Problem Domain Shift
Embedded System Trends I • Microcomponents grow in importance in IC industry due to their reusability: DSP, m C • More embedded systems will require ASICs – From 20 - 70% in 1992 to 60 - 70% in 1996 Moral of the story: u-P are joining with highspeed highly-complex ASIC in embedded systems
Embedded System Trends II • Embedded systems will require more application software – Average moves from 16 - 64 k lines in 1992 to 64 k-512 k in 1996 – Requires migration from assembler to C/ C++, implying requirement for automatic compilation – From 40 - 70% of programmers versus ASIC designers in 1992 to 60 - 90% in 1996 Moral of the story: Increase in code- size / code- complexit is causing a migration to C/ C++ from assembly coding
Embedded Software Optimization • Code size becomes an important objective Software will eventually become a part of the chip: – Need to generate the best possible code – Can afford longer compilation time • Need not only traditional optimization techniques, but also new application- domain-specific optimizations (e. g. , DSP and microcontroller architectures)
Implementing Digital Systems
What is an ASIP? • Application- Specific Instruction Processor • Processor architecture tailored not just for application domain (e. g. , DSP, microcontrollers), but for specific sets of applications (e. g. , audio, engine control) • ASIP characteristics – Greater design cost (processor + compiler) – + Higher performance, lower power than commercial cores, more flexibility than ASIC
ASIP Design • Given a set of applications, determine m architecture of ASIP (i. e. , configuration of functional units in datapaths, instruction set) • To accurately evaluate performance of processor on a given application need to compile the application program onto the processor datapath and simulate object code • However, the m architecture of the processor is a design parameter!
Processor Design Flow
Required Compiler Optimizations • Machine independent optimizations – Parallelizing transformations (lots of them!) Common subexpression elimination, Strength reduction, Code motion • Machine dependent optimizations – – – Loop unrolling and software pipelining Static allocation (non- recursive procedure calls) Storage layout (arrays, scalars) Optimization of mode setting instructions ® Instruction selection, scheduling, and register allocation
Common Subexpression Elimination
Constant Propagation and Folding
Dead Code Elimination
Loop Invariant Code Motion
Array Access Strength Reduction
ee54a91fa0f12c66c81f8bbf6ac3f53f.ppt