SimEng
SimEng copied to clipboard
DI unit balanced port allocation fix
Currently, the dispatch issue unit will get one port allocation and if the attached Reservation station is full or has exhausted its dispatch rate for that cycle, the port will be unallocated and a stall will occur.
Given many instructions can have multiple ports to go to, we should be cycling through all legal ports and seeing if an instruction can be accepted into any of its reservation stations. This PR makes such a change and improves & balances the port / reservation station utilisation.