High Performance Embedded Computing

38 slides
9.23 MB

Similar Presentations

Presentation Transcript


High Performance Embedded Computing © 2007 ElsevierLecture 2: Introduction to Embedded ComputingEmbedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based on slides and textbook from Wayne Wolf


© 2006 ElsevierTopicsEmbedded Computing Landscape. Aspects of Embedded System Design. Architectures Applications Methodologies Modeling Embedded System Applications.


© 2006 ElsevierThe landscape of embedded computingLots of embedded applications require very high performance: Communications. Multimedia. Graphics. Must also meet strict design goals: Real-time performance. Power/energy consumption. Cost. How is power different than energy? How do embedded system design constraints differ from general purpose system design constraints?


© 2006 ElsevierDesigning embedded systemsNo one architecture (hardware or software) can meet the needs of all applications. We need to be able to design a system for our target application or application domain: Quickly and efficiently. With reliable results.


© 2006 ElsevierAspects of embedded system design


© 2006 ElsevierArchitecturesBoth hardware and software architectures are important. The structure of the system determines cost, power, and performance. Different application requirements lead us to different architectures.


© 2006 ElsevierApplicationsYou can’t design the best embedded systems if you don’t know anything about your application. You can’t be an expert in everything. But a little knowledge goes a long way. Domain expertise helps you make trade-offs: Can the requirements be relaxed? Can one requirement be traded for another? How can the system be optimized?


© 2006 ElsevierMethodologiesWe must be able to reliably design systems: Start from requirements/specification. Build a system that is fast enough, doesn’t burn too much energy, and is cheap enough. Be able to finish it on time. And know before we start how difficult the project will be. Invention lets us get around some key technical barriers. Methodology keeps us going.


© 2006 ElsevierModelingA key aspect of methodology is modeling. Work with a simplified version of the object. Modeling helps us predict the consequences of design decisions. Models help us work faster (once we have the model). We can afford to use models if we can reuse them in several designs---methodology relies on and enables modeling. Pitfall: models can mislead


© 2006 ElsevierDisciplines in embedded computingCore areas: Real-time computing : ECE 750 Hardware/software co-design. Closely related areas: Computer architecture: ECE 552, 752, 757 Software engineering. Low-power design. Operating systems. Programming languages and compilers. Networking. Secure and reliable computing.


© 2006 ElsevierHistory of embedded computingSmart-phonesWearablesIoT


© 2006 ElsevierSample Application domainsWireless communication systems Radios and networking Multimedia Image and video processing Real-time control Automotive and avionic systems Smartphone SoCs


© 2006 ElsevierRadio and networkingModern radio systems carry digital information. Perform modulation/ demodulation and error correction. May also be closely tied to a networking stack.


© 2006 ElsevierSeven layers of the OSI network stackPhysical: Electrical, physical. Data link: Access, error control across a single link. Network: End-to-end service. Transport: Connection-oriented service. Session: Control activities. Presentation: Data exchange formats. Application: Interface to end use.


© 2006 ElsevierNetworks and embedded systemsAn increasing number of embedded systems connect to the Internet (IoT) Resource management. Security. Many specialized networks have been developed for embedded systems: Automotive. Device control. Personal area networks (Bluetooth LE) IoT (Zigbee)


© 2006 ElsevierRadio and software radioWireless receivers (radios) perform several basic functions: Demodulate the signal. Detection bits. Correct errors. Software radio performs at least some of these functions using software on CPUs. Software defined radio (SDR) may be all software or a mix of HW and SW.


© 2006 ElsevierSDR Forum tiers of software-defined radio0. Hardware radio, not programmable. 1. Software-controlled radio does not perform basic modulation/filtering in software. 2. Software-defined radio may cover a wide range of techniques and several modulation methods. 3. Ideal software-defined radio goes straight from A/D conversion to software. 4. Ultimate software radio is lightweight, low power/energy, requires no external antenna.


© 2006 ElsevierRadio operationsModulation: Combinations of modulation variables (frequency, phase, amplitide) form symbols. Symbols may be viewed as a constellation. Error correction: Performed on raw bit stream to produce data payload. Basic techniques like parity are often not powerful enough for noisy radio channels. Viterbi method is widely used. Example high-performance codes: turbo coding, low-density parity check (LDPC).


© 2006 ElsevierRadios and networksRadio may need to support an existing network (Internet, etc.). Radio may use its own network for coordination (cell phones). A data network may be designed to take advantage of the unique characteristics of radios (sensor networks).


© 2006 ElsevierExample: cdma2000Spread-spectrum for cell phones. Uses direct-sequence spread spectrum.Forward Error Correction CoderInterleaverModulatorSpreaderdataForward channel (transmitter)Forward Error Correction DecoderDenterleaverDemodulatorDespreaderdataReverse channel (receiver)


© 2006 ElsevierMultimediaImage compression: Each image is coded separately. Video compression: Takes advantage of correlation between successive frames. Perceptual coding: lossy coding, throws away information that will not be noticed.


© 2006 ElsevierJPEGDiscrete cosine transform (DCT) performed on 8 x 8 blocks typically, puts image into frequency domain. Quantization determines what image data to throw out. Lossless coding reduces the size of the representation.Discrete Cosine TransformQuantizationLossless coding01001001000imagecompressed image data


© 2006 ElsevierJPEG zigzag patternAfter quantization, transform coefficients must be sent to lossless coder. Sending coefficients in zigzag pattern moves from low to high spatial frequencies. High frequency coefficients are more likely to be zero, producing strings that are easier to Huffman code.


© 2006 ElsevierVideo compression standardsMakes use of image compression techniques. Adds: Support for frame-to-frame coding. Audio streams, data, etc. controlled by a system stream. Two major families: MPEG for broadcasting. H.26x for videoconferencing. H.264/AVC combines techniques from both traditions.


© 2006 ElsevierMPEG-1/2 style compression


© 2006 ElsevierMotion estimationMotion estimation compares one frame to another frame. Generally performed on 16 x 16 macroblocks. Use 2-D correlation to find new position of a macroblock in the other frame. Transmit a motion vector to describe motion.SAD = Sx Sy | S(x,y) – R(x,y) |

Browse More Presentations

Last Updated: 8th March 2018

Recommended PPTs