TutorialScratchPad

From gem5
Revision as of 17:20, 21 May 2011 by Saidi (talk | contribs) (Created page with "* Introduction to gem5 (15-20 minutes: 10 slides) ** Presentation by: TBD ** Tutorial Goals and Timeline ** High-level view of the gem5: *** What’s new? *** The "best" parts o...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  • Introduction to gem5 (15-20 minutes: 10 slides)
    • Presentation by: TBD
    • 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
      • File Hierarchy
      • Run Scripts (?)
      • SE Mode v. FS Mode - Basic Building / Runinng
      • Atomic v. Timing
      • Stats
      • Debugging Tools (debug-flags)
  • Multiple ISA support (45 minutes: ? slides)
    • Presentation by: ARM - Ali & x86 - 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 (30 minutes: ? slides)
    • 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 - 20 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
  • 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
  • Debugging Infrastucture
    • Debug flags
      • user/kernel tracing
      • tracediff
      • gdb helper
      • Ref counting pointers?
  • Conclusions & questions (20 minutes: 5 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