Difference between revisions of "Google Summer of Code"
From gem5
					
										
					
					| Line 1: | Line 1: | ||
All the ideas listed here will require some familiarity with Python and a good grasp of advanced C++ concepts.  | 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  | # Build a direct execution CPU model based on the Linux Kernel Virtual Machine  | ||
| − | #*   | + | #* http://kvm.qumranet.com/kvmwiki  | 
# Parallelize M5  | # Parallelize M5  | ||
#* Use the Wisconsin Wind Tunnel as a guide  | #* Use the Wisconsin Wind Tunnel as a guide  | ||
| Line 10: | Line 9: | ||
# Mesh network  | # Mesh network  | ||
# Directory Protocol  | # Directory Protocol  | ||
| − | # Real   | + | # Real In-order core model  | 
#* Kevin has one that works to some degree in SE, it doesn't have functional units yet, but it does have variable latency stages and such  | #* Kevin has one that works to some degree in SE, it doesn't have functional units yet, but it does have variable latency stages and such  | ||
#* Korey has one he did at MIPS, I don't know about it's features, but it's SE only  as well  | #* Korey has one he did at MIPS, I don't know about it's features, but it's SE only  as well  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
# 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 (making sure ours works, maybe adding in some new ones)  | # Sampling/fast-forwarding techniques (making sure ours works, maybe adding in some new ones)  | ||
| − | |||
| − | |||
# Flash memory device model? (seems popular nowadays)  | # Flash memory device model? (seems popular nowadays)  | ||
Revision as of 14:22, 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.
 
 - Crossbar network
 - Mesh network
 - Directory Protocol
 -  Real In-order core model
- Kevin has one that works to some degree in SE, it doesn't have functional units yet, but it does have variable latency stages and such
 - Korey has one he did at MIPS, I don't know about it's features, but it's SE only as well
 
 - Write a PLI interface to connect Verilog CPUs to the memory system.
 - Sampling/fast-forwarding techniques (making sure ours works, maybe adding in some new ones)
 - Flash memory device model? (seems popular nowadays)