dram_ctrl.hh (10245:70333502b9b5) dram_ctrl.hh (10246:e0e3efe3b1d5)
1/*
2 * Copyright (c) 2012-2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

149 class Bank
150 {
151
152 public:
153
154 static const uint32_t NO_ROW = -1;
155
156 uint32_t openRow;
1/*
2 * Copyright (c) 2012-2014 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

149 class Bank
150 {
151
152 public:
153
154 static const uint32_t NO_ROW = -1;
155
156 uint32_t openRow;
157 uint8_t rank;
158 uint8_t bank;
157
158 Tick colAllowedAt;
159 Tick preAllowedAt;
160 Tick actAllowedAt;
161
162 uint32_t rowAccesses;
163 uint32_t bytesAccessed;
164
165 Bank() :
159
160 Tick colAllowedAt;
161 Tick preAllowedAt;
162 Tick actAllowedAt;
163
164 uint32_t rowAccesses;
165 uint32_t bytesAccessed;
166
167 Bank() :
166 openRow(NO_ROW), colAllowedAt(0), preAllowedAt(0), actAllowedAt(0),
168 openRow(NO_ROW), rank(0), bank(0),
169 colAllowedAt(0), preAllowedAt(0), actAllowedAt(0),
167 rowAccesses(0), bytesAccessed(0)
168 { }
169 };
170
171 /**
172 * A burst helper helps organize and manage a packet that is larger than
173 * the DRAM burst size. A system packet that is larger than the burst size
174 * is split into multiple DRAM packets and all those DRAM packets point to

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

382 uint64_t minBankActAt(const std::deque<DRAMPacket*>& queue) const;
383
384 /**
385 * Keep track of when row activations happen, in order to enforce
386 * the maximum number of activations in the activation window. The
387 * method updates the time that the banks become available based
388 * on the current limits.
389 *
170 rowAccesses(0), bytesAccessed(0)
171 { }
172 };
173
174 /**
175 * A burst helper helps organize and manage a packet that is larger than
176 * the DRAM burst size. A system packet that is larger than the burst size
177 * is split into multiple DRAM packets and all those DRAM packets point to

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

385 uint64_t minBankActAt(const std::deque<DRAMPacket*>& queue) const;
386
387 /**
388 * Keep track of when row activations happen, in order to enforce
389 * the maximum number of activations in the activation window. The
390 * method updates the time that the banks become available based
391 * on the current limits.
392 *
393 * @param bank Reference to the bank
390 * @param act_tick Time when the activation takes place
394 * @param act_tick Time when the activation takes place
391 * @param rank Index of the rank
392 * @param bank Index of the bank
393 * @param row Index of the row
395 * @param row Index of the row
394 * @param bank_ref Reference to the bank
395 */
396 */
396 void activateBank(Tick act_tick, uint8_t rank, uint8_t bank,
397 uint32_t row, Bank& bank_ref);
397 void activateBank(Bank& bank, Tick act_tick, uint32_t row);
398
399 /**
400 * Precharge a given bank and also update when the precharge is
401 * done. This will also deal with any stats related to the
402 * accesses to the open page.
403 *
404 * @param bank The bank to precharge
405 * @param pre_at Time when the precharge takes place

--- 286 unchanged lines hidden ---
398
399 /**
400 * Precharge a given bank and also update when the precharge is
401 * done. This will also deal with any stats related to the
402 * accesses to the open page.
403 *
404 * @param bank The bank to precharge
405 * @param pre_at Time when the precharge takes place

--- 286 unchanged lines hidden ---