Difference between revisions of "Google Summer of Code"

From gem5
Jump to: navigation, search
(New page: # ARM ISA #* Not realistic # Real F/S In-order core #* 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 suc...)
 
Line 1: Line 1:
# ARM ISA
 
#* Not realistic
 
 
# Real F/S In-order core
 
# Real F/S In-order core
 
#* 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
Line 6: Line 4:
 
# Fast Simple Core
 
# Fast Simple Core
 
#* This largely disregards all the compartmentalization we've done. It touches a lot of things, so the time to start being productive would be high
 
#* This largely disregards all the compartmentalization we've done. It touches a lot of things, so the time to start being productive would be high
# Performance stuff
 
#* The original thought. Profiling, fixing, etc
 
 
# Instruction page decode cache
 
# Instruction page decode cache
 
#* Kinda goes along with the fast simple core, but i think it's a more manageable task. Clearing it is as simple as looking for flush instructions in sparc and the correct pal trap in alpha
 
#* Kinda goes along with the fast simple core, but i think it's a more manageable task. Clearing it is as simple as looking for flush instructions in sparc and the correct pal trap in alpha
Line 23: Line 19:
 
# Sampling/checkpointing/restarting
 
# Sampling/checkpointing/restarting
 
#* Testing, fixing, etc... Not exactly exciting work
 
#* Testing, fixing, etc... Not exactly exciting work
# Write a PLI interface to connect Verilog CPUs to the memory system. It would would be pretty cool for 470 students to try to boot Linux. It would be best if they could also write hooks to get syscall emulation since that's probably much more sane.
+
# 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)
 
# Different cache models (different replacement policies, etc.; would allow them to do some research into it, maybe get some work done for Lisa)
 
# Different cache models (different replacement policies, etc.; would allow them to do some research into it, maybe get some work done for Lisa)
 
# Different prefetcher models (expand on what Ron has, also can do some research into it)
 
# Different prefetcher models (expand on what Ron has, also can do some research into it)
 
# Flash memory device model? (seems popular nowadays)
 
# Flash memory device model? (seems popular nowadays)

Revision as of 08:14, 11 March 2008

  1. Real F/S In-order core
    • 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
  2. Fast Simple Core
    • This largely disregards all the compartmentalization we've done. It touches a lot of things, so the time to start being productive would be high
  3. Instruction page decode cache
    • Kinda goes along with the fast simple core, but i think it's a more manageable task. Clearing it is as simple as looking for flush instructions in sparc and the correct pal trap in alpha
  4. Directory Protocol
    • Not realistic
  5. SMT
    • Fix O3 bugs/ Fix ROB Units
    • It's a huge pile of code to understand before you get anywhere if they get that far
  6. Parallelize M5
    • If only, but not realistic
  7. Are there any other benchmarks we want?
    • That they could possible make work?
  8. Devices?
    • Validate the DRAM model?
  9. Sampling/checkpointing/restarting
    • Testing, fixing, etc... Not exactly exciting work
  10. Write a PLI interface to connect Verilog CPUs to the memory system.
  11. Sampling/fast-forwarding techniques (making sure ours works, maybe adding in some new ones)
  12. Different cache models (different replacement policies, etc.; would allow them to do some research into it, maybe get some work done for Lisa)
  13. Different prefetcher models (expand on what Ron has, also can do some research into it)
  14. Flash memory device model? (seems popular nowadays)