Difference between revisions of "Google Summer of Code"
From gem5
					
										
					
					| Line 10: | Line 10: | ||
# Directory Protocol  | # Directory Protocol  | ||
# Real In-order core model  | # Real In-order core model  | ||
| − | #*   | + | #* There is code to start with but nothing that is fully fleshed out.  | 
| − | |||
# Write a PLI interface to connect Verilog CPUs to the memory system.  | # Write a PLI interface to connect Verilog CPUs to the memory system.  | ||
# Sampling/fast-forwarding techniques  | # Sampling/fast-forwarding techniques  | ||
Revision as of 19:25, 11 March 2008
All the ideas listed here will require some familiarity with Python and a good grasp of advanced C++ concepts.
- Build a direct execution CPU model based on the Linux Kernel Virtual Machine
 -  Parallelize M5
- Use the Wisconsin Wind Tunnel as a guide
 - This actually isn't as bad as it sounds as all objects schedule their own events and there are limited ways they can interact with other objects in the system.
 
 - Memory network models
- (e.g. Crossbar or Mesh)
 
 - Directory Protocol
 -  Real In-order core model
- There is code to start with but nothing that is fully fleshed out.
 
 - Write a PLI interface to connect Verilog CPUs to the memory system.
 -  Sampling/fast-forwarding techniques
- This would have the most impact if it was coupled with (1)
 - Using SMARTS work would be a good guide
 
 -  Flash memory device model (seems popular nowadays)
- This could be a hard drive based model like we're seeing in laptops now or a memory device model like several research papers have suggested as storage in between DRAM and disk.