1 / 42

Embedded Systems: Hardware Components (part I)

Embedded Systems: Hardware Components (part I). Ed F. Deprettere Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands. Outline. Generic Embedded System component structure Sensors Analog-to-Digital (A/D-) converters

joanna
Download Presentation

Embedded Systems: Hardware Components (part I)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Embedded Systems: Hardware Components (part I) Ed F. Deprettere Leiden Embedded Research Center, Leiden Institute of Advanced Computer ScienceLeiden University, The Netherlands

  2. Outline • Generic Embedded System component structure • Sensors • Analog-to-Digital (A/D-) converters • Computation Components • General Purpose Processors (GPPS) • Application Specific Instruction Set Processors (ASIPs) • Reconfigurable Processing Units (RPUs) • Application Specific Integrated Circuits (ASICs) • Memory • Input/Output Devices • Communication Infrastructure • Digital-to-Analog (D/A) converters • Actuators Embedded Systems and Software by Todor Stefanov 2010

  3. Embedded Systems Hardware Embedded Systems hardware is frequently used in a loop(“hardware in a loop“): Embedded System Display InformationProcessing A/D-converters sample-and-hold D/A converters Environment Actuators Sensors rain light Embedded Systems and Software by Todor Stefanov 2010

  4. Sensors • Processing of physical data starts with capturing this data. • Sensors can be designed for virtually every physical and chemical quantity • including weight, velocity, acceleration, electrical current, voltage, temperatures etc. • chemical compounds. • Many physical effects used for constructing sensors. • Examples: • law of induction (generation of voltages in an electric field), • light-electric effects • Huge amount of sensors designed in recent years. Embedded Systems and Software by Todor Stefanov 2010

  5. Examples of Sensors Embedded Systems and Software by Todor Stefanov 2010

  6. Signals • Sensors generate signalsDefinition: a signals is a mapping from the time domain DT to a value domain DV: • s: DTDV • DT : continuous or discrete time domain • DV : continuous or discrete value domain • How to do this for continuous physical signals? • Sample-and-hold circuits (discretization in time or sampling) • A/D-converters (discretization of values or quantization) Digital computers require discrete sequences of physical values, i.e.,DTshould be discrete time domain. Digital computers require digital/binary form of physical values, i.e.,Dvshould be discrete value domain. Embedded Systems and Software by Todor Stefanov 2010

  7. Discretization in Time: Sample-and-hold circuit Clocked transistor + capacitor; Capacitor stores sequence values h(t) is a sequence of values or a mapping ℤℝ e(t) is a mapping ℝℝ Embedded Systems and Software by Todor Stefanov 2010

  8. Discretization of Values:Analog-to-Digital (A/D)-converters (1) Flash A/D converter • Encodes input number of most significant ‘1’ as an unsigned number, e.g.“1111” -> “100”,“0111” -> “011”,“0011” -> “010”,“0001” -> “001”,“0000” -> “000”(priority encoder) Embedded Systems and Software by Todor Stefanov 2010

  9. Resolution and Speed of Flash A/D converter • Resolution (in bits): number of bits produced • Resolution Q (in volts): difference between two input voltages causing the output to be incremented by 1 VFSR: difference between largest and smallest voltage n: number of voltage intervals with • Parallel comparison with reference voltage • Speed: O(1) • Hardware complexity: O(n) • Applications: e.g. in video processing Embedded Systems and Software by Todor Stefanov 2010

  10. Discretization of Values:A/D-converters (2) h(t) Key idea: binary search: Set MSB = '1' if too large: reset MSB Set MSB – 1 = '1' if too large: reset MSB-1 w(t) Speed: O(ld(n)) Hardware complexity: O(ld(n)) with n= # of distinguishedvoltage levels; slow, but high precision possible Embedded Systems and Software by Todor Stefanov 2010

  11. Successive Approximation V 1100 1011 Vx 1010 1000 V- t Embedded Systems and Software by Todor Stefanov 2010

  12. Embedded Systems Hardware Embedded Systems hardware is frequently used in a loop(“hardware in a loop“): Embedded System Display InformationProcessing A/D-converters sample-and-hold D/A converters Environment Actuators Sensors rain light Embedded Systems and Software by Todor Stefanov 2010

  13. Memory Cache Memory Memory ScratchPad ASIC ASIPMicroCtrl DSP VLIW RPU FPGA GPP … CommunicationInfrastructure I/O device I/O device Memory Memory … … Information Processing System:Computation Components Embedded Systems and Software by Todor Stefanov 2010

  14. Why Implementation Alternatives? Trade-off between Flexibility and Performance/Power Efficiency Embedded Systems and Software by Todor Stefanov 2010

  15. General Purpose Processors (GPPs) • Can achieve high performance • Highly optimized circuits • Use of parallelism • superscalar: dynamic scheduling of instructions • super-pipelining: instruction pipelining, branch prediction, speculation • Complex memory hierarchy – caches • Not suitable for real-time applications • Execution times are highly unpredictable because of intensive resource sharing and dynamic decisions • Properties • Good average performance for large application mix • High power consumption Embedded Systems and Software by Todor Stefanov 2010

  16. GPP + Memory(von Neumann architecture) 0 Memory Data + Program CPU 1 PC 2 address IR 1. PC := 200 2. Fetch => IR := Mem[PC] 3. Decode IR 4. Execute 5. PC := PC + 1 6. goto 2 data 200 ADD a1,a2,aN GPR N Embedded Systems and Software by Todor Stefanov 2010

  17. GPP + Memory(Harvard architecture) address CPU Program Memory PC data IR address Data Memory data GPR Embedded Systems and Software by Todor Stefanov 2010

  18. Example of simple GPP: MicroBlaze Embedded Systems and Software by Todor Stefanov 2010

  19. Example of complex GPP: Pentium Embedded Systems and Software by Todor Stefanov 2010

  20. Information Processing System:Computation Components Memory Cache Memory Memory ScratchPad ASIC ASIPMicroCtrl DSP VLIW RPU FPGA GPP … CommunicationInfrastructure I/O device I/O device Memory Memory … … Embedded Systems and Software by Todor Stefanov 2010

  21. Application Specific Instruction Set Processors (ASIPs) • Micro Controllers (MicroCtrl) • Used in Control Dominated Systems • Reactive systems with event driven behavior • Application examples: cars, consumer electronics (washing machines, dishwashers etc.) • Digital Signal Processors (DSPs) • Used in Data Dominated Systems • Streaming-oriented systems with mostly periodic behavior • Application examples: signal processing • Very Long Instruction Word Processors (VLIWs) • Used in Data Dominated Systems • Application examples: image processing Embedded Systems and Software by Todor Stefanov 2010

  22. Micro Controllers • Control-dominant applications • Supports process scheduling and synchronization • Preemption (interrupt), context switch • Short latency times • Low power consumption • Peripheral units often integrated • Suited for real-time applications Philips 83 C552: 8 bit-8051 based microcontroller Embedded Systems and Software by Todor Stefanov 2010

  23. Digital Signal Processors • Optimized for data-flow applications • Suited for simple control flow • Parallel hardware units • Specialized instruction set • High data throughput • Zero-overhead loops • Specialized memory • Suited for real-time applications TMS320C40 Block Diagram Embedded Systems and Software by Todor Stefanov 2010

  24. MAC (Multiply & Accumulate) // Product of two vectors a[] and b[] float X = 0.0; for ( i = 1; i <= N; i++ ) { X = X + a[i]*b[i]; } TMS320C3x Assembler (Texas Instruments) LDF 0, R0 LDF 0, R1 RPTS N MPYF3 *(AR0)++, *(AR1)++, R0 || ADDF3 R0, R1, R1 // Zero-overhead loop (repeat next instruction N times) MAC instruction Embedded Systems and Software by Todor Stefanov 2010

  25. Very Long Instruction Word Processors Key idea: Detection of possible parallelism to be done by compiler, not by hardware at run-time (inefficient). VLIW: parallel operations (instructions) encoded in one long word (instruction packet), each instruction controlling one functional unit. VLIW processors are an example of the so calledExplicit Parallelism Instruction Computers (EPIC) Embedded Systems and Software by Todor Stefanov 2010

  26. 32-bit peripheral bus 64-bit memory bus multi-port 128 words x 64 bits register file bypass network datacache16KB mmu mmu FU FU FU FU FU exceptions PC instruction cache 32 KB mmu VLIW instruction decode and launch Example: Philips TriMedia VLIW CPU 5 issue slots (functional units FU), therefore up to 5 instructions can be executed in parallel Embedded Systems and Software by Todor Stefanov 2010

  27. Information Processing System:Computation Components Memory Cache Memory Memory ScratchPad ASIC ASIPMicroCtrl DSP VLIW RPU FPGA GPP … CommunicationInfrastructure I/O device I/O device Memory Memory … … Embedded Systems and Software by Todor Stefanov 2010

  28. Reconfigurable Processing Units (RPUs) • Full custom chips may be too expensive, software too slow. • Combine the speed of HW with the flexibility of SW • HW with programmable functions and interconnect. • HW (Re-)Configurable at design-time or at run-time (dynamic reconfiguration) • Field Programmable Gate Arrays (FPGAs) • Currently the most sophisticated and used RPUs • Applications • Fast and very cheap prototyping of (MP-)SoCs • Encryption, • Fast “object recognition“ (medical and military) • Adapting mobile phones to different standards • Very popular devices from • XILINX (Virtex II(Pro), Virtex 4, Virtex 5, Virtex 6) • Altera, Actel and others Embedded Systems and Software by Todor Stefanov 2010

  29. Floor Plan of Virtex FPGAs • Configurable Logic Block (CLB) • Digital Clock Manager (DCM) • Input/Output Blocks (IOB) Embedded Systems and Software by Todor Stefanov 2010

  30. CLB Structure • Four 1-bit registers used as • Flip-Flops or Latchs • Four 64-bit memories used as • Look-up tables to implement any Boolean function of up to 6 variables • Memories for storing data • Shift registers Embedded Systems and Software by Todor Stefanov 2010

  31. Interconnect Infrastructure Embedded Systems and Software by Todor Stefanov 2010

  32. FPGAs with Embedded Processors • Virtex II Pro Devices includeup to 4 PowerPC processor cores • Virtex 5 Devices includeup to 2 PowerPC processor cores Embedded Systems and Software by Todor Stefanov 2010

  33. Information Processing System:Computation Components Memory Cache Memory Memory ScratchPad ASIC ASIPMicroCtrl DSP VLIW RPU FPGA GPP … CommunicationInfrastructure I/O device I/O device Memory Memory … … Embedded Systems and Software by Todor Stefanov 2010

  34. Application Specific Integrated Circuits (ASICs) • Custom-designed circuits necessary • if ultimate speed or • energy efficiency is the goal and • large numbers can be sold. • Approach suffers from • long design times, • lack of flexibility(changing standards) • high costs, i.e., Millions of $ mask costs Embedded Systems and Software by Todor Stefanov 2010

  35. Information Processing System:Memory Memory Cache Memory Memory ScratchPad ASIC ASIPMicroCtrl DSP VLIW RPU FPGA GPP … CommunicationInfrastructure I/O device I/O device Memory Memory … … Embedded Systems and Software by Todor Stefanov 2010

  36. Generic Memory Device Organization Memory array Data Width: w Addres Width: n Size: 2n cells 2n x w bits n rowAddr Type of Memory: - RAM, ROM - SRAM, DRAM - … columnAddr w Embedded Systems and Software by Todor Stefanov 2010

  37. CE’ R/W’ Adrs From SRAM From CPU Data write read time Typical Generic SRAM:Structure and Timing SRAM - Very Fast - High Area - Low Capacity - … CE’ R/W’ Adrs Data Embedded Systems and Software by Todor Stefanov 2010

  38. CE’ R/W’ RAS’ CAS’ row adrs col adrs Adrs Data data time Typical Generic DRAM:Structure and Timing CE’ DRAM - Slower than SRAM - Low Area - High Capacity - Refresh is needed - … R/W’ Refresh:- done every few milliseconds- by addressing and reading all rows RAS’ CAS’ Adrs Data Embedded Systems and Software by Todor Stefanov 2010

  39. Some Concerns about Memory in ES:Access Time and Energy Efficiency Access times and energy consumption increases with the size of the memory. For Embedded Systems“Small Memory is beautiful”in terms of access time and energy consumption Embedded Systems and Software by Todor Stefanov 2010

  40. Some Concerns about Memory in ES:The old “Memory Wall” Problem Memory Access Times >> Processor Cycle Times 8 Speed CPU Performance(1.5-2 p.a.) 4  2x every 2 years 2 DRAM (1.07 p.a.) 1 years 0 1 2 3 4 5 Embedded Systems and Software by Todor Stefanov 2010

  41. main main L2 Cache Scratch Pad Memory L1 Cache processor processor Relaxing the “Memory Wall” problem:Hierarchical Memories • For Embedded Systems, Scratch Pad Memories (SPM) are more suitable than Caches • Caches have unpredictable behavior (cache misses) • Caches consume more energy (in comparators, multiplexers, etc.) Embedded Systems and Software by Todor Stefanov 2010

  42. To be continued … Embedded Systems and Software by Todor Stefanov 2010

More Related