Difference between revisions of "Documentation"

From gem5
Jump to: navigation, search
m (Development: Corrected the link for Ruby network test)
Line 2: Line 2:
  
 
'''Old Documentation:''' We have some old documentation and have been trying to move everything to the new format, but we haven't quite succeeded yet. If you don't find the answer you're looking for here, you might want to check [[OldDocumentation | the old documentation]].
 
'''Old Documentation:''' We have some old documentation and have been trying to move everything to the new format, but we haven't quite succeeded yet. If you don't find the answer you're looking for here, you might want to check [[OldDocumentation | the old documentation]].
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Getting Started ==
 
== Getting Started ==
Line 9: Line 13:
 
# [[Build System]] - How to run or modify gem5's build system.
 
# [[Build System]] - How to run or modify gem5's build system.
 
# [[Download | Full System and Benchmark Files]] - Disk images for operating system and benchmark applications, and how to install them.
 
# [[Download | Full System and Benchmark Files]] - Disk images for operating system and benchmark applications, and how to install them.
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Running gem5 ==
 
== Running gem5 ==
Line 19: Line 27:
 
# [[Architecture Support]] -- What architectures are supported by gem5 and what features of them are implemented
 
# [[Architecture Support]] -- What architectures are supported by gem5 and what features of them are implemented
 
# [[Visualization]] -- Tools to help visualize what is going on in a system
 
# [[Visualization]] -- Tools to help visualize what is going on in a system
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Workloads ==
 
== Workloads ==
Line 31: Line 43:
 
# [[Linux kernel]] - Preparing a Linux kernel for use in gem5.
 
# [[Linux kernel]] - Preparing a Linux kernel for use in gem5.
 
# [[m5ops]] - How to talk to the simulator from within a simulated workload.
 
# [[m5ops]] - How to talk to the simulator from within a simulated workload.
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Development ==
 
== Development ==
Line 46: Line 62:
 
# [[Commit Access]]
 
# [[Commit Access]]
 
# [[Managing Change in Your Local Repository]]
 
# [[Managing Change in Your Local Repository]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Infrastructure ==
 
== Infrastructure ==
Line 52: Line 72:
 
# [[Utility Code]]
 
# [[Utility Code]]
 
# [[Serialization]]
 
# [[Serialization]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Memory System ==
 
== Memory System ==
Line 59: Line 83:
 
## [[SLICC|SLICC Overview]]
 
## [[SLICC|SLICC Overview]]
 
## [[GEMS-gem5_SLICC_Transition_Guide|SLICC Transistion Guide]]
 
## [[GEMS-gem5_SLICC_Transition_Guide|SLICC Transistion Guide]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Full System ==
 
== Full System ==
Line 68: Line 96:
 
# [[Disks and Disk Images]]
 
# [[Disks and Disk Images]]
 
# [[Interrupts]]
 
# [[Interrupts]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Syscall Emulation ==
 
== Syscall Emulation ==
 
# [[SE Mode]]
 
# [[SE Mode]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== Instruction Execution ==
 
== Instruction Execution ==
Line 76: Line 112:
 
# [[Architectural State]]
 
# [[Architectural State]]
 
# [[Address Translation]]
 
# [[Address Translation]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
 +
 
== CPU Models ==
 
== CPU Models ==
 
# [[SimpleCPU | Simple CPU Model]]
 
# [[SimpleCPU | Simple CPU Model]]
Line 81: Line 122:
 
# [[InOrder | In Order CPU Model]]
 
# [[InOrder | In Order CPU Model]]
 
# [[Adding a New CPU Model]]
 
# [[Adding a New CPU Model]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]
 +
  
 
== ISA Implementations ==
 
== ISA Implementations ==
Line 92: Line 137:
 
# [[X86 Implementation]]
 
# [[X86 Implementation]]
 
# [[Defining ISAs]]
 
# [[Defining ISAs]]
 +
 +
 +
'''Source(s):'''  [http://downloadranking.com/support.php  Documentation]

Revision as of 10:23, 26 August 2013

Welcome to the gem5 documentation. We've worked hard to add and organize everything in a more reasonable format, however we still haven't got to everything. All the documentation is a wiki, so we encourage you to add and edit sections as you find omissions and bugs.

Old Documentation: We have some old documentation and have been trying to move everything to the new format, but we haven't quite succeeded yet. If you don't find the answer you're looking for here, you might want to check the old documentation.


Source(s): Documentation


Getting Started

  1. Introduction - A quick introduction to gem5.
  2. Source Code - Information about the source code itself.
  3. Dependencies - Things you'll need that aren't part of gem5 itself.
  4. Build System - How to run or modify gem5's build system.
  5. Full System and Benchmark Files - Disk images for operating system and benchmark applications, and how to install them.


Source(s): Documentation


Running gem5

  1. Running gem5 - Starting a simulation from the command line.
  2. Checkpoints, Fast Forwarding - How to create Checkpoints, restore the checkpointed state, fast forward simulation.
  3. Regression Tests - Running the regression tests.
  4. SimObjects - What SimObjects are and how they work.
  5. Configuration Scripts - This and the next section need to be merged.
  6. Simulation Scripts Explained
  7. Architecture Support -- What architectures are supported by gem5 and what features of them are implemented
  8. Visualization -- Tools to help visualize what is going on in a system


Source(s): Documentation


Workloads

  1. Compiling - How to compile workloads to run within gem5.
  2. Multi-programmed - Multiprogrammed workloads in SE mode.
  3. Multi-threaded - Multithreaded workloads in SE mode.
  4. Benchmark suites
    1. SPEC - SPEC benchmarks in SE mode.
    2. SPLASH - SPLASH benchmarks (SE or FS mode?)
    3. PARSEC - PARSEC benchmarks in FS mode.
  5. Disk images - Setting up a disk image.
  6. Linux kernel - Preparing a Linux kernel for use in gem5.
  7. m5ops - How to talk to the simulator from within a simulated workload.


Source(s): Documentation


Development

  1. Functional Testers
  2. Debugging - features designed specifically to help you figure out what's going on.
  3. Coding Style
  4. Tools and Contributing
  5. Source Code Documentation
  6. Commit Access
  7. Managing Change in Your Local Repository


Source(s): Documentation


Infrastructure

  1. Events
  2. Statistics
  3. Utility Code
  4. Serialization


Source(s): Documentation


Memory System

  1. General Memory System - Shared infrastructure between the Classic and Ruby models
  2. Classic Memory System - Description of our easily configurable, bus-based memory system
  3. Ruby - Description of our detailed and flexible memory system. Lots of information here.
    1. SLICC Overview
    2. SLICC Transistion Guide


Source(s): Documentation


Full System

  1. Devices
    1. IDE Devices
    2. NIC Devices
    3. Timers
    4. UARTs and serial terminals
  2. Disks and Disk Images
  3. Interrupts


Source(s): Documentation


Syscall Emulation

  1. SE Mode


Source(s): Documentation


Instruction Execution

  1. Execution Basics
  2. Architectural State
  3. Address Translation


Source(s): Documentation


CPU Models

  1. Simple CPU Model
  2. Out-of-Order CPU Model
  3. In Order CPU Model
  4. Adding a New CPU Model


Source(s): Documentation


ISA Implementations

  1. Status Matrix
  2. ISA Parser
  3. Alpha Implementation
  4. ARM Implementation
  5. MIPS Implementation
  6. Power Implementation
  7. SPARC Implementation
  8. X86 Implementation
  9. Defining ISAs


Source(s): Documentation