300 likes | 541 Views
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.
E N D
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. • Processing element types. • Communication channel types. • Software services.
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.
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.
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.
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
Multithreading is important • High performance from accelerators requires multithreading: • stalling units throws away a great deal of performance. CPU accel
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.
Software and platforms • Many vendors supply APIs and libraries. • Long-term goal: custom optimization tools. applications libraries RTOS BIOS hardware
PC-based platform • Basic hardware components: • CPU; • memory; • timers; • DMA; • minimal I/O devices. • Basic software: • BIOS.
PC-style hardware architecture CPU memory I/O system bus bridge high-speed bus DMA controller timers low-speed bus bus interface I/O
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.
Pros and cons • Plentiful hardware options. • Simple programming semantics. • Good software development environments. • Performance-limited.
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
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
InfoPad hardware architecture Wireless network interface Speech codec display Video decompressor Keyboard/pointer ARM 60 other I/O IEEE Trans. Computers
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.
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
Customized processors • Tensilica synthesizes custom processor, associated software. http://www.tensilica.com/technology.html
Printers • High-speed vs. low-cost: • uniprocessor vs. multiprocessor hardware? • multiprocessor requires more complex software.
The printing process page description language rasterizer raster memory printer controller printer
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
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
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
Wireless handset • Generic handset (TI): http://www.ti.com/sc/docs/psheets/diagrams/gdgradio.htm
ADI ADSL engine • Bus-based multiprocessor (ADI): http://www.analog.com/industry/signal_chains/auto/communications/comms_1.html
Agere StarPro platform http://www.lucent.com/micro/starpro/arch.html
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
Summary • Consider system requirements to select system architectures. • Multiprocessors rule high-performance applications. • Co-processors can be important for low-power applications.