a framework for automatic generation a framework for
play

A Framework for Automatic Generation A Framework for Automatic - PowerPoint PPT Presentation

A Framework for Automatic Generation A Framework for Automatic Generation of Configuration Files for a Custom of Configuration Files for a Custom Hardware/Software RTOS Hardware/Software RTOS Jaehwan Lee* Lee* Jaehwan Kyeong Keol Keol Ryu


  1. A Framework for Automatic Generation A Framework for Automatic Generation of Configuration Files for a Custom of Configuration Files for a Custom Hardware/Software RTOS Hardware/Software RTOS Jaehwan Lee* Lee* Jaehwan Kyeong Keol Keol Ryu Ryu* * Kyeong Vincent J. Mooney III + + Vincent J. Mooney III {jaehwan jaehwan, , kkryu kkryu, , mooney}@ece.gatech.edu mooney}@ece.gatech.edu { http://codesign.ece.gatech.edu codesign.ece.gatech.edu http:// + Assistant Professor, *School of Electrical and Computer Engineer + Assistant Professor, *School of Electrical and Computer Engineering ing + Adjunct Assistant Professor, College of Computing + Adjunct Assistant Professor, College of Computing Georgia Institute of Technology Georgia Institute of Technology 26 June 2002 at ERSA HW/SW RTOS Project of the HW/SW Codesign Codesign Group at GT Group at GT 26 June 2002 at ERSA HW/SW RTOS Project of the HW/SW

  2. Outline Outline � Introduction � Goals � Motivation � Methodology � Experimental Results � Conclusion June 2002 at ERSA 2 HW/SW RTOS Project June 2002 at ERSA 2 HW/SW RTOS Project

  3. Introduction Introduction � Specify custom HW/SW RTOS in a graphical user interface (GUI) Software RTOS library � Generate configuration files Makefile used to make a custom RTOS User GUI tool • A custom RTOS may contain HW User.h input (as well as SW) components Verilog � Compile both hardware and File(s) Hardware Base software with an application RTOS Architecture library library � Simulate the system to evaluate the result June 2002 at ERSA 3 HW/SW RTOS Project June 2002 at ERSA 3 HW/SW RTOS Project

  4. Goals Goals � To help the user examine which configuration is most suitable for the user’s specific applications � To help the user explore the RTOS design space after chip fabrication as well as before chip fabrication � To help the user examine different system-on-a- chip (SoC) architectures subject to a custom RTOS June 2002 at ERSA 4 HW/SW RTOS Project June 2002 at ERSA 4 HW/SW RTOS Project

  5. Motivation (1/5) Motivation (1/5) � HW/SW RTOS partitioning approach � Three previous innovations in HW/SW RTOS components • SoCLC: System-on-a-Chip Lock Cache • SoCDMMU: System-on-a-Chip Dynamic Memory Management Unit • SoCDDU: System-on-a-Chip Deadlock Detection Unit June 2002 at ERSA 5 HW/SW RTOS Project June 2002 at ERSA 5 HW/SW RTOS Project

  6. Motivation (2/5) Motivation (2/5) � System-on-a-Chip Lock Cache • A hardware mechanism that resolves the critical section (CS) interactions among PEs • Lock variables are moved into a separate “lock cache” outside of the memory • Improving the performance criteria in terms of lock latency, lock delay and bandwidth consumption June 2002 at ERSA 6 HW/SW RTOS Project June 2002 at ERSA 6 HW/SW RTOS Project

  7. Motivation (3/5) Motivation (3/5) � SoCDMMU: System-on-a-Chip Dynamic Memory Management Unit • Provides fast, deterministic and yet dynamic memory management of a global on-chip memory • Achieves flexible, efficient memory utilization • Provides APIs for applications June 2002 at ERSA 7 HW/SW RTOS Project June 2002 at ERSA 7 HW/SW RTOS Project

  8. Motivation (4/5) Motivation (4/5) � SoCDDU: System-on-a-Chip Deadlock Detection Unit • Performs a novel parallel hardware deadlock detection based on implementing deadlock searches on the resource allocation matrix in hardware • Provides a very fast deadlock detection at run-time with dedicated hardware performing simple bit-wise boolean operations • Reduces deadlock detection time by 99% as compared to software • Requires at most O(2*min(m,n)) iterations as opposed to O(m*n) required by all previously reported (sequential) software algorithms June 2002 at ERSA 8 HW/SW RTOS Project June 2002 at ERSA 8 HW/SW RTOS Project

  9. Motivation (5/5) Motivation (5/5) Constraints about using three previous innovations • Perhaps not enough chip space for all three of them • All of them may not be necessary ⇒ Our framework • Enables automatic generation of different mixes of the three previous innovations for different versions of a HW/SW RTOS • Can be generalized to instantiate additional HW or SW RTOS components June 2002 at ERSA 9 HW/SW RTOS Project June 2002 at ERSA 9 HW/SW RTOS Project

  10. Methodology (1/2) Methodology (1/2) � Translates the user choices into a custom RTOS • Given the IP library of processors Software RTOS and HW/SW RTOS components library Makefile � Generates configuration files to glue together a custom RTOS User GUI tool User.h input executable in the Seamless Co- Verification Environment from Verilog Mentor Graphics File Hardware Base RTOS Architecture • Makefile and User.h for SW link library library • Verilog header file for HW glue June 2002 at ERSA 10 HW/SW RTOS Project June 2002 at ERSA 10 HW/SW RTOS Project

  11. Methodology (2/2) Methodology (2/2) � Explores the HW/SW RTOS design space defined by the available HW/SW RTOS components easily Application SW Software Compile RTOS library and Makefile HW/SW Link Co- Result Simulation and GUI tool User Feedback User.h input HW Verilog Compile File Hardware Base RTOS Architecture library library June 2002 at ERSA 11 HW/SW RTOS Project June 2002 at ERSA 11 HW/SW RTOS Project

  12. Our RTOS and Possible Target SoC SoC Our RTOS and Possible Target H/W S/W RTOS � A multiprocessor System-on-a-Chip ( Base architecture) � A multiprocessor RTOS � Application(s) running on the SoC using the RTOS APIs June 2002 at ERSA 12 HW/SW RTOS Project June 2002 at ERSA 12 HW/SW RTOS Project

  13. Our RTOS in Detail Our RTOS in Detail � Atalanta software RTOS • A multiprocessor SoC RTOS � The RTOS and device drivers are loaded into the L2 cache memory H/W • All Processing Elements (PEs) S/W RTOS � share the kernel code and data structures � Hardware RTOS components are downloaded into the reconfigurable logic June 2002 at ERSA 13 HW/SW RTOS Project June 2002 at ERSA 13 HW/SW RTOS Project

  14. Selectable RTOS IP components Selectable RTOS IP components � Software (Atalanta RTOS) • Inter-Process Communication (IPC) components (semaphore, queue, event, mailbox, etc) • CPU schedulers (priority, round-robin) • Memory management module (gmm) • Deadlock detection module (ddm) � Hardware • SoC Lock Cache for fast IPC (SoCLC) • Dynamic Memory Management Unit (SoCDMMU) • Deadlock Detection Unit (SoCDDU) June 2002 at ERSA 14 HW/SW RTOS Project June 2002 at ERSA 14 HW/SW RTOS Project

  15. Implementation (1/8) Implementation (1/8) SW may over- ride task size SW module IPC module linking method linking method HW integration method June 2002 at ERSA 15 HW/SW RTOS Project June 2002 at ERSA 15 HW/SW RTOS Project

  16. Implementation (2/8) Implementation (2/8) with Example Use of GUI Tool � The user • Selects � Deadlock detection SW module � Semaphores for synchronization � SoCLC for critical section • Clicks Generate button � The tool • Generates � Makefile & User.h � Verilog header file June 2002 at ERSA 16 HW/SW RTOS Project June 2002 at ERSA 16 HW/SW RTOS Project

  17. Implementation (3/8) Implementation (3/8) 1) Software module linking method • Command-line object inclusion method (well-known) • Used for the same function but different implementations • Implemented in Makefile • Used for linking the deadlock detection SW module in the example June 2002 at ERSA 17 HW/SW RTOS Project June 2002 at ERSA 17 HW/SW RTOS Project

  18. Implementation (4/8) Implementation (4/8) 1) Software module linking method (cont’d) $(LD) – o $@ $(OTHER_OBJS) $(OPT_OBJ1) $(OPT_OBJ2) $(LIBRARY) Making to Stage gcc – o ddutest.x [all other objects including ddutest.o] ddm.o atalanta.a Makefile GUI OTHER_OBJS = ddutest.o … Tool OPT_OBJ1 = ddm.o OPT_OBJ2 = (blank) Software component selection ddutest.x ddm.o Linking X gmm.o Stage June 2002 at ERSA 18 HW/SW RTOS Project June 2002 at ERSA 18 HW/SW RTOS Project

  19. Implementation (5/8) Implementation (5/8) 2) Inter-process communication module linking method • Library function linking method (common) • Implemented in User.h • Used for the semaphore function in the example June 2002 at ERSA 19 HW/SW RTOS Project June 2002 at ERSA 19 HW/SW RTOS Project

  20. Implementation (6/8) Implementation (6/8) 2) IPC module linking method (cont’d) GUI Generated Configuration Tool #define semaphores TRUE user.h included application Library (Atalanta.a) ddutest.x user.c user.i user.o Semaphore functions Pre-processing Queue functions Making Mailbox functions Linking Stage Stage Event functions ddutest.c ddutest.o Other functions Selection flow of IPC methods … June 2002 at ERSA 20 HW/SW RTOS Project June 2002 at ERSA 20 HW/SW RTOS Project

  21. Implementation (7/8) Implementation (7/8) 3) HW RTOS component integration method MPC750-1 MPC750-2 MPC750-3 MPC750-4 � Novel HW integration method � Construct a Verilog header file L1 L1 L1 L1 � Integrate user-selected HW RTOS components into the Base architecture SoCLC Arbiter, Memory � Start with an SoCLC architecture Intr. controller description (an example with SoCLC) Reconfig. controller, and Logic Clock memory June 2002 at ERSA 21 HW/SW RTOS Project June 2002 at ERSA 21 HW/SW RTOS Project

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend