Example #1
0
 public FunctionalUnit FindFree(FunctionalUnit.Types type)
 {
     return this.Entities[type].Find (fu => !fu.IsBusy);
 }
Example #2
0
        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 ();
        }
Example #3
0
 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));
     }
 }