Exemple #1
0
        public Packet(Request request, ulong block, int nrOfFlits, Coord source, Coord dest)
        {
            _request = request;
            if (_request != null)
            {
                _request.beenToNetwork = true;
            }
            _block = block; // may not come from request (see above)
            _src   = source;
            _dest  = dest;

            _ringsrc  = new RingCoord(RingCoord.getRingIDfromID(source.ID));
            _ringdest = new RingCoord(RingCoord.getRingIDfromID(dest.ID));

            if (request != null)
            {
                request.setCarrier(this);
            }
            requesterID = -1;
            initialize(Simulator.CurrentRound, nrOfFlits);

            /* Prioritizing packets */
            if (Simulator.rand.Next(0, 100) < Config.randomPacketPrioPercent)
            {
                chip_prio = 1;
            }
            else
            {
                chip_prio = 0;
            }
        }
Exemple #2
0
 public Packet(Request request, ulong block, int nrOfFlits, Coord source, Coord dest)
 {
     _request = request;
     if (_request != null)
     {
         _request.beenToNetwork = true;
     }
     _block = block; // may not come from request (see above)
     _src   = source;
     _dest  = dest;
     if (request != null)
     {
         request.setCarrier(this);
     }
     requesterID = -1;
     initialize(Simulator.CurrentRound, nrOfFlits);
 }
Exemple #3
0
 public void setRequest(Request req)
 {
     _request = req;
     req.setCarrier(this);
 }
Exemple #4
0
 public void setRequest(Request req)
 {
     _request = req;
     req.setCarrier(this);
 }
Exemple #5
0
		//by Xiyue:

		// TODO: this is the packet generated by the processor
		public Packet(Request request, ulong block, int nrOfFlits, Coord source, Coord dest, CmpCache_Txn txn, bool critical)
		{
			_request = request;
			if (_request != null)
				_request.beenToNetwork = true;
			_block = block; // may not come from request (see above)
			_src = source;
			_dest = dest;
			_intfCycle = 0;
			if (request != null)
				request.setCarrier(this);
			requesterID = -1;
			initialize(Simulator.CurrentRound, nrOfFlits);
			this.txn = txn;
			this.critical = critical;
			this.rank = Controller_QoSThrottle.app_rank[txn.node];
			this.app_type = Controller_QoSThrottle.app_type[txn.node];
			this.most_mem_inten = Controller_QoSThrottle.most_mem_inten[txn.node];
			this.slowdown = Simulator.stats.estimated_slowdown [txn.node].LastPeriodValue; // TODO: by Xiyue: this is equivalent to have N ranking levels.
		}
Exemple #6
0
		// regular packet
		public Packet(Request request, ulong block, int nrOfFlits, Coord source, Coord dest)
     		   {
          		  _request = request;
            if (_request != null)
                _request.beenToNetwork = true;
            _block = block; // may not come from request (see above)
            _src = source;
            _dest = dest;
            if (request != null)
                request.setCarrier(this);
            requesterID = -1;
			mc = false;
			gather = false;
            initialize(Simulator.CurrentRound, nrOfFlits);
        }
Exemple #7
0
		// construct a multicast packet
		// TODO: it may be merged in network. 
		public Packet(Request request, ulong block, int nrOfFlits, Coord source, List <Coord> _destList)
		{
			_request = request;
			if (_request != null)
				_request.beenToNetwork = true;
			_block = block; // may not come from request (see above)
			_src = source;
			destList = new List <Coord>(_destList);
			nrMCPacket = _destList.Count;
			nrArrivedMCPacket = 0;
			nrOfArrivedFlitsMC = new int [Config.N]; // for safety, although mc_degree may not reach N
			creationTimeMC = new ulong[Config.N]; // index the destination node ID
			if (request != null)
				request.setCarrier (this);
			requesterID = -1;
			hsFlowID = -1;
			mc = true;
			gather = false;
			initialize (Simulator.CurrentRound, nrOfFlits);// Flitization of each packet;
		}