Sequencer.hh (6162:cbd6debc4fd0) Sequencer.hh (6165:2d26c346f1be)
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 31 unchanged lines hidden (view full) ---

40#include "mem/ruby/common/Global.hh"
41#include "mem/ruby/config/RubyConfig.hh"
42#include "mem/ruby/common/Consumer.hh"
43#include "mem/protocol/CacheRequestType.hh"
44#include "mem/protocol/AccessModeType.hh"
45#include "mem/protocol/GenericMachineType.hh"
46#include "mem/protocol/PrefetchBit.hh"
47#include "mem/gems_common/Map.hh"
1
2/*
3 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are
8 * met: redistributions of source code must retain the above copyright

--- 31 unchanged lines hidden (view full) ---

40#include "mem/ruby/common/Global.hh"
41#include "mem/ruby/config/RubyConfig.hh"
42#include "mem/ruby/common/Consumer.hh"
43#include "mem/protocol/CacheRequestType.hh"
44#include "mem/protocol/AccessModeType.hh"
45#include "mem/protocol/GenericMachineType.hh"
46#include "mem/protocol/PrefetchBit.hh"
47#include "mem/gems_common/Map.hh"
48#include "mem/packet.hh"
49
50class DataBlock;
51class AbstractChip;
52class CacheMsg;
53class Address;
54class MachineID;
48
49class DataBlock;
50class AbstractChip;
51class CacheMsg;
52class Address;
53class MachineID;
54class Packet;
55
56class Sequencer : public Consumer {
57public:
58 // Constructors
59 Sequencer(AbstractChip* chip_ptr, int version);
60
61 // Destructor
62 ~Sequencer();

--- 35 unchanged lines hidden (view full) ---

98 Address getRequestPhysicalAddress(const Address & lineaddr);
99 // returns whether a request is a prefetch request
100 bool isPrefetchRequest(const Address & lineaddr);
101
102 //notifies driver of debug print
103 void printDebug();
104
105 // called by Tester or Simics
55
56class Sequencer : public Consumer {
57public:
58 // Constructors
59 Sequencer(AbstractChip* chip_ptr, int version);
60
61 // Destructor
62 ~Sequencer();

--- 35 unchanged lines hidden (view full) ---

98 Address getRequestPhysicalAddress(const Address & lineaddr);
99 // returns whether a request is a prefetch request
100 bool isPrefetchRequest(const Address & lineaddr);
101
102 //notifies driver of debug print
103 void printDebug();
104
105 // called by Tester or Simics
106 void makeRequest(const Packet* pkt, void* data);
107 void makeRequest(const CacheMsg& request); // depricate this function
106 void makeRequest(Packet* pkt);
108 bool doRequest(const CacheMsg& request);
109 void issueRequest(const CacheMsg& request);
110 bool isReady(const Packet* pkt) const;
111 bool isReady(const CacheMsg& request) const; // depricate this function
112 bool empty() const;
113 void resetRequestTime(const Address& addr, int thread);
114 Address getLogicalAddressOfRequest(Address address, int thread);
115 AccessModeType getAccessModeOfRequest(Address address, int thread);

--- 22 unchanged lines hidden (view full) ---

138 AbstractChip* m_chip_ptr;
139
140 // indicates what processor on the chip this sequencer is associated with
141 int m_version;
142
143 // One request table per SMT thread
144 Map<Address, CacheMsg>** m_writeRequestTable_ptr;
145 Map<Address, CacheMsg>** m_readRequestTable_ptr;
107 bool doRequest(const CacheMsg& request);
108 void issueRequest(const CacheMsg& request);
109 bool isReady(const Packet* pkt) const;
110 bool isReady(const CacheMsg& request) const; // depricate this function
111 bool empty() const;
112 void resetRequestTime(const Address& addr, int thread);
113 Address getLogicalAddressOfRequest(Address address, int thread);
114 AccessModeType getAccessModeOfRequest(Address address, int thread);

--- 22 unchanged lines hidden (view full) ---

137 AbstractChip* m_chip_ptr;
138
139 // indicates what processor on the chip this sequencer is associated with
140 int m_version;
141
142 // One request table per SMT thread
143 Map<Address, CacheMsg>** m_writeRequestTable_ptr;
144 Map<Address, CacheMsg>** m_readRequestTable_ptr;
145
146 Map<Address, Packet*>* m_packetTable_ptr;
147
146 // Global outstanding request count, across all request tables
147 int m_outstanding_count;
148 bool m_deadlock_check_scheduled;
149
150};
151
152// Output operator declaration
153ostream& operator<<(ostream& out, const Sequencer& obj);

--- 14 unchanged lines hidden ---
148 // Global outstanding request count, across all request tables
149 int m_outstanding_count;
150 bool m_deadlock_check_scheduled;
151
152};
153
154// Output operator declaration
155ostream& operator<<(ostream& out, const Sequencer& obj);

--- 14 unchanged lines hidden ---