inorder: initialize res. req. vectors based on resource bandwidth
authorKorey Sewell <ksewell@umich.edu>
Fri, 18 Feb 2011 19:27:52 +0000 (14:27 -0500)
committerKorey Sewell <ksewell@umich.edu>
Fri, 18 Feb 2011 19:27:52 +0000 (14:27 -0500)
commit991d0185c68b53a04ae5d1f1a05749bbfddced89
tree70a97d5b52ff695810b00513a9b3e0907e2a5d4b
parent2971b8401a4a76a774962900d9aed6e9eb4b2950
inorder: initialize res. req. vectors based on resource bandwidth
first change in an optimization that will stop InOrder from allocating new memory for every instruction's
request to a resource. This gets expensive since every instruction needs to access ~10 requests before
graduation. Instead, the plan is to allocate just enough resource request objects to satisfy each resource's
bandwidth (e.g. the execution unit would need to allocate 3 resource request objects for a 1-issue pipeline
since on any given cycle it could have 2 read requests and 1 write request) and then let the instructions
contend and reuse those allocated requests. The end result is a smaller memory footprint for the InOrder model
and increased simulation performance
src/cpu/inorder/resource.cc
src/cpu/inorder/resource.hh
src/cpu/inorder/resources/cache_unit.cc
src/cpu/inorder/resources/use_def.cc
src/cpu/inorder/resources/use_def.hh