Difference between revisions of "TutorialScratchPad"
From gem5
Line 1: | Line 1: | ||
* Introduction to gem5 (15-20 minutes: 10 slides) | * Introduction to gem5 (15-20 minutes: 10 slides) | ||
− | ** Presentation by: | + | ** Presentation by: Brad |
** Tutorial Goals and Timeline | ** Tutorial Goals and Timeline | ||
** High-level view of the gem5: | ** High-level view of the gem5: | ||
Line 8: | Line 8: | ||
** Discuss goals, design principles, etc. | ** Discuss goals, design principles, etc. | ||
*** Basically review the high-level points of the CAN article | *** Basically review the high-level points of the CAN article | ||
− | + | * gem5 Basics (20 minutes) | |
− | + | ** File Hierarchy | |
− | + | ** Run Scripts (?) | |
− | + | ** SE Mode v. FS Mode - Basic Building / Runinng | |
− | + | ** Atomic v. Timing | |
− | + | ** Stats | |
− | + | ** Debugging Tools (debug-flags) | |
* Multiple ISA support (15 minutes: ? slides) | * Multiple ISA support (15 minutes: ? slides) | ||
− | ** Presentation by: | + | ** Presentation by: ?? Ali ?? Gabe ?? |
** ISA description language | ** ISA description language | ||
*** Review high-level concepts and what is new versus the past tutorial | *** Review high-level concepts and what is new versus the past tutorial | ||
Line 24: | Line 24: | ||
** Example: From Memory to Decode to an Instruction (BaseDynInst)??? | ** Example: From Memory to Decode to an Instruction (BaseDynInst)??? | ||
* CPU Models (15 minutes: ? slides) | * CPU Models (15 minutes: ? slides) | ||
+ | ** Korey | ||
** Key Interfaces: | ** Key Interfaces: | ||
*** ISA | *** ISA | ||
Line 32: | Line 33: | ||
**InOrder CPU - "Medium" Level | **InOrder CPU - "Medium" Level | ||
*** Example: Moving Through the InOrder Model??? | *** Example: Moving Through the InOrder Model??? | ||
− | * Break - | + | * Break - 30 mins |
* Ruby (50 minutes: ~25 slides) | * Ruby (50 minutes: ~25 slides) | ||
** Presentation by: Brad | ** Presentation by: Brad |
Revision as of 16:56, 23 May 2011
- 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)
- File Hierarchy
- Run Scripts (?)
- SE Mode v. FS Mode - Basic Building / Runinng
- Atomic v. Timing
- Stats
- Debugging Tools (debug-flags)
- Multiple ISA support (15 minutes: ? slides)
- Presentation by: ?? Ali ?? 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
- 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 (15 minutes)
- Debug flags
- user/kernel tracing
- tracediff
- gdb helper
- Ref counting pointers?
- Debug flags
- 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