* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Embedded Computing
Stray voltage wikipedia , lookup
Power over Ethernet wikipedia , lookup
Pulse-width modulation wikipedia , lookup
Electric power system wikipedia , lookup
Electrification wikipedia , lookup
Variable-frequency drive wikipedia , lookup
Opto-isolator wikipedia , lookup
Buck converter wikipedia , lookup
History of electric power transmission wikipedia , lookup
Distributed generation wikipedia , lookup
Power electronics wikipedia , lookup
Power engineering wikipedia , lookup
Microprocessor wikipedia , lookup
Rectiverter wikipedia , lookup
Immunity-aware programming wikipedia , lookup
Distribution management system wikipedia , lookup
Voltage optimisation wikipedia , lookup
Switched-mode power supply wikipedia , lookup
Alternating current wikipedia , lookup
EEE2135 Digital Logic Design Chapter 2. Embedded Computing/ Systems 서강대학교 전자공학과 1) General-purpose Processor a. User-programmable b. Diverse applications c. Must provide an efficient programming environment d. Flexible e. Platform • Powerful processors • OS developed to manage all resources efficiently • Higher utilization and less waiting time desired • Monopoly (ex. Pentium, MS, SUN, …) 2) Special-purpose Processor (Embedded Processor ) a. b. • • • • • c. Manufacturer-programmable Dedicated applications Mostly mobile Has strict timing constraints (Real-time systems) Tasks are periodic Mostly embedded systems Battery operation Platform • Application-oriented processors • Low power, Good UI, Fancy features desired • Many different processors - Short TTM - Powerful design aids needed • Opportunities open (ex. ARM, HTC, ..) How many (µ- )processors do you own? Average individual in developed country owns around 100 (µ-)processors • Almost all are embedded Maybe 10,000 processors/person by 2012! (according to Moore’s Law) Future Computing Infrastructure What is an Embedded Computer? A computer not used to run general-purpose programs, but instead used as a component of a system. Usually, user cannot change the computer program (except for minor upgrades) Example applications: • Cellphone • Digital camera (some have several processors) • Games machines • Set-top boxes (DVD players, personal video recorders, ...) • Digital Televisions • Car (some have dozens of processors) • Routers • Cellphone basestation • .... many more Cars Modern cars: Up to 100 or more processors • Engine control unit • Emissions control • Diagnostics • Automatic transmission • Accessories (doors, windows, etc) • CAN http://www.howstuffworks.com/car-computer.htm Important Parameters for Embedded Computers Real-time performance • hard real-time: if deadline misses, system fails • soft real-time: missing deadline degrades performance (e.g. skipping frames on DVD playback) Real-world I/O performance • Sensors/actuators require continuous I/O (can’t batch process) Power - expensive package and cooling affects cost, system size, weight Cost • includes cost of supporting structures, particularly memory • static code size very important (cost of ROM/RAM) • millions of copies (worth engineer time to optimize cost down) Performance ? • Throughput, latency, power, area Performance in Throughput Which is best for desktop performance? Which is best for hard real-time task? Impacts on Computer System Energy consumed per task determines battery life • Second order effect is that higher current draws decrease effective battery energy capacity (higher power also lowers battery life) Current draw causes IR drops in power supply voltage • Requires more power/ground pins to reduce resistance R • Requires thick & wide on-chip metal wires or dedicated metal layers Switching current (dI/dt) causes inductive power supply voltage bounce ∝ LdI/dt • Requires more pins/shorter pins to reduce inductance L • Requires on-chip/on-package decoupling capacitance to help bypass pins during switching transients Power dissipated as heat, higher temps reduce speed and reliability • Requires more expensive packaging and cooling systems • Laptop temperature Power Dissipation in CMOS Primary Components: • Capacitor Charging (85-90% of active power) • Energy is CV2 per transition • Short-Circuit Current (10-15% of active power) • When both p and n transistors turn on during signal transition • Sub-threshold Leakage (dominates when inactive) • Transistors don’t turn off completely • Becoming more significant part of active power with scaling • Diode Leakage (negligible) • Parasitic source and drain diodes leak to substrate Reducing Switching Power Power = α * CV2 * f Reduce activity factor α Reduce switched capacitance C Reduce supply voltage V Reduce frequency Reducing Activity Clock Gating • don’t clock f/fs if not needed • avoids transitioning downstream logic • Pentium-4 has hundreds of gated clocks Bus Encodings • choose encodings that minimize transitions on average (e.g., Gray code for address bus) • compression schemes (move fewer bits) Remove Glitches • balance logic paths to avoid glitches during settling • use monotonic logic (Domino) Reducing Supply Voltage/Frequency Quadratic savings in energy per transition – Big effect • Circuit speed is reduced • Must lower clock frequency to maintain correctness Doesn’t save energy, just reduces rate at which it is consumed - Some saving in battery life from reduction in rate of discharge Voltage Scaling for Reduced Energy Reducing supply voltage by 0.5 improves energy per transition by 0.25 Performance is reduced – need to use slower clock Can regain performance with parallel architecture Alternatively, can trade surplus performance for lower energy by reducing supply voltage until “just enough” performance Dynamic Voltage Scaling Types of Embedded Processor General Purpose Processors - often too expensive, hot, unpredictable, and require too much support logic for embedded applications Microcontroller • emphasizes bit-level operations and control-flow intensive operations (a programmable state machine) • usually includes on-chip memories and I/O devices DSP (Digital Signal Processor) - organized around a multiply-accumulate engine for digital signal processing applications FPGA (Field Programmable Gate Array) - reconfigurable logic can replace processors/DSPs for some applications New Forms of Domain-Specific Processor Network processor • arrays of 8-16 simple multi-threaded processor cores on a single chip used to process Internet packets • used in high-end routers Media processor • conventional RISC or VLIW engine extended with media processing instructions (SIMD or Vector) • used in set-top boxes, DVD players, digital cameras Programming Embedded Computers Microcontrollers, DSPs, network processors, media processors usually have complex, nonorthogonal instruction sets with specialized instructions and special memory structures • poor compiled code quality (% peak with compiled code) • high static code efficiency • high MIPS/$ and MIPS/W • usually assembly-coded in critical loops Worth one engineer year in code development to save $1 on system that will ship 1M units Assembly coding easier than ASIC chip design But, room for improvement… Embedded Systems Embedded systems - ‘A special-purpose processor built into a larger device’ ‘Special-purpose’ • Embedded systems have a (more or less) welldefined purpose ‘Built into a larger device’ 1.ESs are (usually) part of a larger system (with limited peripherals), augmenting its capabilities Application-specific • Both hardware and software is tailored to applications, which are well defined • However, re-programmability is a requirement • ‘HALT’ is a bad state! Interaction with the physical world Small (and cool) SoCs SPEC: one step closer to “Smart Dust” ㅡ Mote for Ubiquitous Sensor Network • 2mm x 2.5 mm • AVR-like RISC core • 3k RAM • 8-bit ADC • FSK radio transceiver • Paged memory system • Lots of other cool stuff… Manufacturing cost • $ 0.3 for die • $ 0.5 for the five external components (antenna, crystals, power source etc) Constraints Hardware • Processor, Memory • Power consumption • Limited peripherals and slower buses • Size, weight, environmental reliability Software • Latency : ‘Hard’ or ‘Soft’ Real-time requirements • Limited HW resources • Reliability : Not very easy to debug • Device heterogeneity - Interoperability becomes an issue! Embedded System Hardware Commercial off-the-shelf components (COTS) • wireless radios, sensors, I/O devices • Cheap Application-Specific ICs (ASICs) • ICs tailored to meet application needs • Good performance for their intended task(s) • Original ESs were ASICs only Domain-specific processors • DSPs • Microcontrollers • Microprocessors