dram_ctrl.cc (10561:e1a853349529) dram_ctrl.cc (10617:471d390943f0)
1/*
2 * Copyright (c) 2010-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

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

1472 }
1473 }
1474
1475 // Determine the earliest time when the next burst can issue based
1476 // on the current busBusyUntil delay.
1477 // Offset by tRCD to correlate with ACT timing variables
1478 Tick min_cmd_at = busBusyUntil - tCL - tRCD;
1479
1/*
2 * Copyright (c) 2010-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

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

1472 }
1473 }
1474
1475 // Determine the earliest time when the next burst can issue based
1476 // on the current busBusyUntil delay.
1477 // Offset by tRCD to correlate with ACT timing variables
1478 Tick min_cmd_at = busBusyUntil - tCL - tRCD;
1479
1480 // Prioritize same rank accesses that can issue B2B
1480 // if we have multiple ranks and all
1481 // waiting packets are accessing a rank which was previously active
1482 // then bank_mask_same_rank will be set to a value while bank_mask will
1483 // remain 0. In this case, the function should return the value of
1484 // bank_mask_same_rank.
1485 // else if waiting packets access a rank which was previously active and
1486 // other ranks, prioritize same rank accesses that can issue B2B
1481 // Only optimize for same ranks when the command type
1482 // does not change; do not want to unnecessarily incur tWTR
1483 //
1484 // Resulting FCFS prioritization Order is:
1485 // 1) Commands that access the same rank as previous burst
1486 // and can prep the bank seamlessly.
1487 // 2) Commands (any rank) with earliest bank prep
1487 // Only optimize for same ranks when the command type
1488 // does not change; do not want to unnecessarily incur tWTR
1489 //
1490 // Resulting FCFS prioritization Order is:
1491 // 1) Commands that access the same rank as previous burst
1492 // and can prep the bank seamlessly.
1493 // 2) Commands (any rank) with earliest bank prep
1488 if (!switched_cmd_type && same_rank_match &&
1489 min_act_at_same_rank <= min_cmd_at) {
1494 if ((bank_mask == 0) || (!switched_cmd_type && same_rank_match &&
1495 min_act_at_same_rank <= min_cmd_at)) {
1490 bank_mask = bank_mask_same_rank;
1491 }
1492
1493 return bank_mask;
1494}
1495
1496void
1497DRAMCtrl::processRefreshEvent()

--- 651 unchanged lines hidden ---
1496 bank_mask = bank_mask_same_rank;
1497 }
1498
1499 return bank_mask;
1500}
1501
1502void
1503DRAMCtrl::processRefreshEvent()

--- 651 unchanged lines hidden ---