summaryrefslogtreecommitdiff
path: root/src/cpu/o3/lsq_unit.hh
diff options
context:
space:
mode:
authorBinh Pham <binhpham@cs.rutgers.edu>2014-06-21 10:26:43 -0700
committerBinh Pham <binhpham@cs.rutgers.edu>2014-06-21 10:26:43 -0700
commit0782d92286ded450b7e615fefbd5d6d5e738c8cd (patch)
treef69fc67a0957740bab56e11ca9587834da3e18fa /src/cpu/o3/lsq_unit.hh
parentfdb965f5c17d8866a63c206e1975460544d8eda9 (diff)
downloadgem5-0782d92286ded450b7e615fefbd5d6d5e738c8cd.tar.xz
o3: split load & store queue full cases in rename
Check for free entries in Load Queue and Store Queue separately to avoid cases when load cannot be renamed due to full Store Queue and vice versa. This work was done while Binh was an intern at AMD Research.
Diffstat (limited to 'src/cpu/o3/lsq_unit.hh')
-rw-r--r--src/cpu/o3/lsq_unit.hh8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cpu/o3/lsq_unit.hh b/src/cpu/o3/lsq_unit.hh
index 0978e721b..00469197d 100644
--- a/src/cpu/o3/lsq_unit.hh
+++ b/src/cpu/o3/lsq_unit.hh
@@ -12,6 +12,7 @@
* modified or unmodified, in source code or in binary form.
*
* Copyright (c) 2004-2006 The Regents of The University of Michigan
+ * Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -198,8 +199,11 @@ class LSQUnit {
void setLoadBlockedHandled()
{ loadBlockedHandled = true; }
- /** Returns the number of free entries (min of free LQ and SQ entries). */
- unsigned numFreeEntries();
+ /** Returns the number of free LQ entries. */
+ unsigned numFreeLoadEntries();
+
+ /** Returns the number of free SQ entries. */
+ unsigned numFreeStoreEntries();
/** Returns the number of loads in the LQ. */
int numLoads() { return loads; }