1 / 30

Platform-Based Design: Part 3, Applications

Platform-Based Design: Part 3, Applications. Wayne Wolf Princeton University. Outline. Challenges in platform design. Example systems/platforms: generic; set-top box; printers; wireless; network processors. Mapping an application to a platform. System topology.

chung
Download Presentation

Platform-Based Design: Part 3, Applications

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. Platform-Based Design: Part 3, Applications Wayne Wolf Princeton University

  2. Outline • Challenges in platform design. • Example systems/platforms: • generic; • set-top box; • printers; • wireless; • network processors.

  3. Mapping an application to a platform • System topology. • Processing element types. • Communication channel types. • Software services.

  4. How many processing elements? • Why not one big CPU? • Depends on real-time requirements. • Tight deadlines are incompatible with multitasking. • May be CPU or hardwired unit. • Similarly, tight communication deadlines discourage shared communication links.

  5. Reasons for a dedicated unit • No shared unit is fast enough. • Limits on reliable scheduling: • RMS utilization asymptotically approaches 69%. • Overhead effects: • RTOS context switching; • cache thrashing.

  6. What types of processing elements? • Hardwired vs. programmable: • look for algorithms that can be mapped very efficiently. • What type of programmable CPU: • chip vendor selection usually limits choice; • maximum parallelism.

  7. CPU speedups should obey n% rule on entire application. Accelerator speedups must consider n% rule, communication overhead. new instruction? accelerated operation? CPUs vs. accelerators CPU accel

  8. Multithreading is important • High performance from accelerators requires multithreading: • stalling units throws away a great deal of performance. CPU accel

  9. What type of memory system? • Cache: • size, # sets, block size. • On-chip main memory: • amount, type, banking, network to PEs. • Off-chip main memory: • type, organization.

  10. Software and platforms • Many vendors supply APIs and libraries. • Long-term goal: custom optimization tools. applications libraries RTOS BIOS hardware

  11. PC-based platform • Basic hardware components: • CPU; • memory; • timers; • DMA; • minimal I/O devices. • Basic software: • BIOS.

  12. PC-style hardware architecture CPU memory I/O system bus bridge high-speed bus DMA controller timers low-speed bus bus interface I/O

  13. Strong ARM • StrongARM system includes: • CPU chip (3.686 MHz clock) • system control module (32.768 kHz clock). • Real-time clock; • operating system timer • general-purpose I/O; • interrupt controller; • power manager controller; • reset controller.

  14. Pros and cons • Plentiful hardware options. • Simple programming semantics. • Good software development environments. • Performance-limited.

  15. Apple Newton hardware architecture ARM 610 ROM RAM PCMCIA Runt ASIC serial I/F infrared LCD A/D tablet speaker Design Automation for Embedded Systems

  16. Motorola Envoy hardware architecture PCMCIA 1 MB DRAM 4 MB flash Magicbus Astro system ASIC infrared audio power supply modem 68439 CPU touchscreen A/D Design Automation for Embedded Systems

  17. InfoPad hardware architecture Wireless network interface Speech codec display Video decompressor Keyboard/pointer ARM 60 other I/O IEEE Trans. Computers

  18. Hardware vs. software • Special-purpose hardware often consumes much less power. • Need to think about communication between units, multiprocessing. • Accelerators often require limits on parameters. • May be OK if standards limit parameters.

  19. Philips set-top box hardware architecture DRAM Network interface MPEG demux MPEG audio MPEG video NVRAM DRAM I/O DRAM NTSC CD-I graphics PCMCIA Philips journal

  20. Customized processors • Tensilica synthesizes custom processor, associated software. http://www.tensilica.com/technology.html

  21. Printers • High-speed vs. low-cost: • uniprocessor vs. multiprocessor hardware? • multiprocessor requires more complex software.

  22. The printing process page description language rasterizer raster memory printer controller printer

  23. HP PPA printer controller 68EC000 ROM Controller ASIC mask ROM flash motors ASIC motor ctrl mP IF carriage pos encoder I/O connector data path print cartridge ASIC SRAM HP Journal June 1997 DRAM

  24. parsing and rasterization swath generation drawing HP DesignJet hardware architecture i960KA i960 components pen ctrl ASIC swath RAM EEPROM proc. support ASIC servo proc. (8052) carriage PC board DRAM ctrl front panel stepper motor

  25. TI Open Multimedia Applications Platform • Dual-processor shared memory system: external memory General-purpose processor DSP Mem ctrl DSP task & I/O ctrl GPP OS DSP manager DSP OS bridge http://www.ti.com/sc/docs/apps/wireless/omap/overview.htm

  26. Wireless handset • Generic handset (TI): http://www.ti.com/sc/docs/psheets/diagrams/gdgradio.htm

  27. ADI ADSL engine • Bus-based multiprocessor (ADI): http://www.analog.com/industry/signal_chains/auto/communications/comms_1.html

  28. Agere StarPro platform http://www.lucent.com/micro/starpro/arch.html

  29. C-Port C5 network processor http://www.cportcorp.com/products/digital.htm 600 Mbps to framer HDLC engine fabric processor to ATM HDLC engine other channel processors … (16 total) RISC executive controller Memory ctrl to mem

  30. Summary • Consider system requirements to select system architectures. • Multiprocessors rule high-performance applications. • Co-processors can be important for low-power applications.

More Related