• Do we have to worry about memory disambiguation problem in this assignment?
  • What should I use to find out memory instructions? is checking mem_type sufficient or do I have to check opcode?
  • What will be the cache miss penalty? Is this KNOB_DCACHE_HIT_LATENCY+KNOB_MEM_LATENCY_ROW_HIT or just KNOB_MEM_LATENCY_ROW_HIT?
  • Do we need to implement store-load forwarding?
  • What if load/store addresses are mapped into two different cache blocks (unaligned accesses)?
  • Do we need to translate virtual addresses to physical addresses?
  • Is the DCACHE pipelined ?
  • When an instruction can retire? Can it retire out of order?
  • Do we need to handle write traffic from the cache?
  • Do we need to make it sure only one instruction can send to the WB stage in one cycle?