1 / 4

Software Thread Integration for Concurrency and ILP in Embedded Systems

Software Thread Integration for Concurrency and ILP in Embedded Systems. Alex Dean alex_dean@ncsu.edu Center for Embedded Systems Research Department of Electrical and Computer Engineering North Carolina State University www.cesr.ncsu.edu/agdean. Hardware Function. Static Timing Analysis.

presta
Download Presentation

Software Thread Integration for Concurrency and ILP in Embedded Systems

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. Software Thread Integration for Concurrency and ILP inEmbedded Systems Alex Dean alex_dean@ncsu.edu Center for Embedded Systems Research Department of Electrical and Computer Engineering North Carolina State University www.cesr.ncsu.edu/agdean

  2. HardwareFunction Static Timing Analysis Integration foo.int.s foo.s Data-flow Analysis Control-flow Analysis Integration Analysis foo.id GProf STI and ASTI Eliminate Context Switches and Interrupts Where They Limit Performance • Problem: Embeddedsystems are inherently multithreaded, but most processors are single-threaded • Solution: Create efficient implicitly multithreaded (integrated) functions • Use a compiler at design time to create the functions (compile for low-cost concurrency) • Build the task/function scheduling decisions into scheduler or ISRs Break down the barrier between task scheduling (scheduler and dispatcher) and instruction scheduling (compiler) • Two efficiencies improved • Integrated threads more efficient • Integration process automated • Simplifies hardware to software migration Primary (real-time)Thread Secondary Thread Integrated Thread Guest Schedule (Execution Time Reqts.) (Asynchronous) Software Thread Integration Idle Time Reclaimed Idle Time

  3. Pixel Clock Divider Byte ClockDivider MCU Clock 115 kbps serial port Clear ATmega128 MCU 64 kByte SRAM Load Honeywell HT83C51 Microcontroller Shift Honeywell HT83C51 Microcontroller 4-bit Shift Register Latch 4-bit Shift Register Sync NTSC Video Out Additional 4 kBytes of code CAN Bus Software CAN Hardware CAN CAN Bus Serial Data Link to Controller Serial Data Link to Controller CAN Controller Honeywell HT6256 32K x 8 SRAM Honeywell HT6256 32K x 8 SRAM Demo Systems: NTSC Generator & Hot Soft CAN STIGlitz: Sync. Threads w/STI HSCAN: Async. Threads w/ASTI

  4. Other Activities • STI for streaming programs on VLIW processors • Problem: VLIW processors often have many unused issue slots • Software pipelining doesn’t always work (resource bound < recurrence bound, control flow, calls, register pressure) • STI can help in many cases • Target System: StreamIt + TI C6x DSP • StreamIt implicitly guarantees data independence, simplifying analysis • Developing methods to analyze and transform StreamIt program graph to improve performance • Energy Efficiency for Low-End Embedded Systems • Portable Benchmarking for Embedded Systems

More Related