TutorialScratchPad

From gem5
Revision as of 16:59, 23 May 2011 by Saidi (talk | contribs)
Jump to: navigation, search
  • Introduction to gem5 (15-20 minutes: 10 slides)
    • Presentation by: Brad
    • Tutorial Goals and Timeline
    • High-level view of the gem5:
      • What’s new?
      • The "best" parts of Ruby
      • The "best" parts of M5
    • Discuss goals, design principles, etc.
      • Basically review the high-level points of the CAN article
  • gem5 Basics (20 minutes)
    • Presented By: Nate
    • File Hierarchy
    • Run Scripts (?)
    • SE Mode v. FS Mode - Basic Building / Runinng
    • Atomic v. Timing
    • Running Examples!
    • Stats
  • Debugging Infrastucture (15 minutes)
    • Presented By: Ali
    • Debug flags
      • user/kernel tracing
      • tracediff
      • gdb helper
      • Ref counting pointers?
  • Checkpoint and fast-forwarding (25 minutes: ? slides)
    • Presented by: Joel
    • Brief description then demo
      • Where are checkpoints generated?
      • What are the key functions used to create/read a checkpoint?
      • What are the command line options to use?
      • DEMO
  • Multiple ISA support (15 minutes: ? slides)
    • Presentation by: Gabe
    • ISA description language
      • Review high-level concepts and what is new versus the past tutorial
      • We probably don’t have enough time to discuss a lot of implementation
    • ARM Implementation Key Points
    • x86 Key Points
    • Example: From Memory to Decode to an Instruction (BaseDynInst)???
  • CPU Models (15 minutes: ? slides)
    • Korey
    • Key Interfaces:
      • ISA
      • Ports/Memory
    • SimpleCPU Overview
    • Detailed CPU Commonalities: TimeBuffer Communication & ThreadContext
    • O3CPU – Pipeline Stages and Resources Description
    • InOrder CPU - "Medium" Level
      • Example: Moving Through the InOrder Model???
  • Break - 30 mins
  • Ruby (50 minutes: ~25 slides)
    • Presentation by: Brad
    • Discuss design concepts
      • Separation of policies
      • Rich configurability
      • Rapid prototyping
    • Components – highlighting differences from GEMS
      • Coherence protocols
      • Highlight local variables & input parameters to SLICC files
    • Protocol independent structures
    • Topology & networks
      • Topology Spec. Basics?
      • Simple Network?
      • Garnet?
    • Example: Life of a Ruby Request
  • Conclusions & questions (20 minutes: 10 slides)
    • Status Matrix
    • Developer tools
      • Regression tester
      • Code reviews
      • Mailing list (shouldn’t we mention this in the Introduction? Having an active mailing list is like a feature :) … )
    • Future Work/In Development (? mins, : ? slides)
      • Highlight the different development efforts
      • Prelude to the development discussion in the afternoon
      • What are near-term/long-term plans for each major bullet point above?
    • Invite attendees to speak up and start to form "birds of feather" groupings for 2nd half of tutorial