public FunctionalUnit FindFree(FunctionalUnit.Types type) { return this.Entities[type].Find (fu => !fu.IsBusy); }
public StaticInstruction(string mnemonic, MachineInstruction machineInstruction, Flag flags, FunctionalUnit.Types fuType) { this.Mnemonic = mnemonic; this.MachineInstruction = machineInstruction; this.Flags = flags; this.FunctionalUnitType = fuType; this.IDeps = new List<RegisterDependency> (); this.ODeps = new List<RegisterDependency> (); this.SetupDeps (); }
public void Add(FunctionalUnit.Types type, uint quantity, uint operationLatency, uint issueLatency) { this.Entities[type] = new List<FunctionalUnit> (); for (uint i = 0; i < quantity; i++) { this.Entities[type].Add (new FunctionalUnit (this, type, operationLatency, issueLatency)); } }