示例#1
0
文件: Node.cs 项目: hoangt/NOCulator
        public Node(NodeMapping mapping, Coord c)
        {
            m_coord = c;
            m_mapping = mapping;

            if (mapping.hasCPU(c.ID))
            {
                m_cpu = new CPU(this);
            }
            if (mapping.hasMem(c.ID))
            {
				Console.WriteLine("Proc/Node.cs : MC locations:{0}", c.ID);
                m_mem = new MemCtlr(this);
            }

            m_inj_pool = Simulator.controller.newPrioPktPool(m_coord.ID);
            Simulator.controller.setInjPool(m_coord.ID, m_inj_pool);
            m_injQueue_flit = new Queue<Flit>();
            m_injQueue_evict = new Queue<Flit>();
            m_local = new Queue<Packet>();

            m_rxbuf_naive = new RxBufNaive(this,
                    delegate(Flit f) { m_injQueue_evict.Enqueue(f); },
                    delegate(Packet p) { receivePacket(p); });
        }
示例#2
0
 public override void setInjPool(int node, IPrioPktPool pool)
 {
     m_injPools[node] = pool as HotNetsThrottlePool;
     pool.setNodeId(node);
 }
示例#3
0
 public virtual void setInjPool(int node, IPrioPktPool pool)
 {
     m_injPools[node] = pool;
     pool.setNodeId(node);
 }
示例#4
0
 //configure the packet pool for each node. Makes it aware of
 //the node position.
 public override void setInjPool(int node, IPrioPktPool pool)
 {
     m_injPools[node] = pool;
     pool.setNodeId(node);
 }
示例#5
0
 public override void setInjPool(int node, IPrioPktPool pool)
 {
     m_injPools[node] = pool;
 }
示例#6
0
        public Node(NodeMapping mapping, Coord c)
        {
            m_coord = c;
            m_mapping = mapping;

            if (mapping.hasCPU(c.ID))
            {
                m_cpu = new CPU(this);
            }
            if (mapping.hasMem(c.ID))
            {
				Console.WriteLine("Proc/Node.cs : MC locations:{0}", c.ID);
                m_mem = new MemCtlr(this);
            }

            m_inj_pool = Simulator.controller.newPrioPktPool(m_coord.ID);
            Simulator.controller.setInjPool(m_coord.ID, m_inj_pool);
            m_injQueue_flit = new Queue<Flit>();
            m_injQueue_evict = new Queue<Flit>();
			m_injQueue_multi_flit = new Queue<Flit> [Config.sub_net];
			for (int i=0; i<Config.sub_net; i++)
				m_injQueue_multi_flit[i] = new Queue<Flit> ();
            m_local = new Queue<Packet>();
			//m_inheritance_table =  new ArrayList();
			m_inheritance_dict = new Dictionary<string, int> ();

            m_rxbuf_naive = new RxBufNaive(this,
                    delegate(Flit f) { m_injQueue_evict.Enqueue(f); },
                    delegate(Packet p) { receivePacket(p); });



        }
示例#7
0
 public override void setInjPool(int node, IPrioPktPool pool)
 {
     foreach (Controller c in m_feedback)
         c.setInjPool(node, pool);
 }
示例#8
0
 public virtual void setInjPool(int node, IPrioPktPool pool)
 {
     m_injPools[node] = pool;
     pool.setNodeId(node);
 }
示例#9
0
 public override void setInjPool(int node, IPrioPktPool pool)
 {
     m_injPools[node] = pool;
 }