//constructor public Bank2(MemCtrl2 mc, Rank2 rank, uint bid) { this.cid = mc.cid; this.rid = rank.rid; this.bid = bid; this.mc = mc; curr_rowid = -1; //closed-row }
//constructor public Channel2(MemCtrl2 mc, uint rmax, uint bmax) { this.cid = mc.cid; this.mc = mc; this.rmax = rmax; ranks = new Rank2[rmax]; for (uint i = 0; i < ranks.Length; i++) { ranks[i] = new Rank2(mc, this, i, bmax); } }
private void set_banks() { banks = new List <Bank2>(); foreach (MemCtrl2 mc in this.mctrls) { Channel2 chan = mc.chan; for (uint r = 0; r < chan.rmax; r++) { Rank2 rank = chan.ranks[r]; for (uint b = 0; b < rank.bmax; b++) { Bank2 bank = rank.banks[b]; banks.Add(bank); } } } }
//constructor public BLPTracker2(MemCtrl2[] mctrls) { this.mctrls = mctrls; //banks banks = new List <Bank2>(); foreach (MemCtrl2 mc in this.mctrls) { Channel2 chan = mc.chan; for (uint r = 0; r < chan.rmax; r++) { Rank2 rank = chan.ranks[r]; for (uint b = 0; b < rank.bmax; b++) { Bank2 bank = rank.banks[b]; banks.Add(bank); } } } //blp blp_perproc = new int[Config.N]; }