lsq_unit.hh (7823:dac01f14f20f) lsq_unit.hh (8199:3d6c08c877a9)
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

106
107 /** Inserts an instruction. */
108 void insert(DynInstPtr &inst);
109 /** Inserts a load instruction. */
110 void insertLoad(DynInstPtr &load_inst);
111 /** Inserts a store instruction. */
112 void insertStore(DynInstPtr &store_inst);
113
1/*
2 * Copyright (c) 2004-2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

106
107 /** Inserts an instruction. */
108 void insert(DynInstPtr &inst);
109 /** Inserts a load instruction. */
110 void insertLoad(DynInstPtr &load_inst);
111 /** Inserts a store instruction. */
112 void insertStore(DynInstPtr &store_inst);
113
114 /** Check for ordering violations in the LSQ
115 * @param load_idx index to start checking at
116 * @param inst the instruction to check
117 */
118 Fault checkViolations(int load_idx, DynInstPtr &inst);
119
114 /** Executes a load instruction. */
115 Fault executeLoad(DynInstPtr &inst);
116
117 Fault executeLoad(int lq_idx) { panic("Not implemented"); return NoFault; }
118 /** Executes a store instruction. */
119 Fault executeStore(DynInstPtr &inst);
120
121 /** Commits the head load. */

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

361 * @todo: Consider having var that records the true number of LQ entries.
362 */
363 unsigned LQEntries;
364 /** The number of SQ entries, plus a sentinel entry (circular queue).
365 * @todo: Consider having var that records the true number of SQ entries.
366 */
367 unsigned SQEntries;
368
120 /** Executes a load instruction. */
121 Fault executeLoad(DynInstPtr &inst);
122
123 Fault executeLoad(int lq_idx) { panic("Not implemented"); return NoFault; }
124 /** Executes a store instruction. */
125 Fault executeStore(DynInstPtr &inst);
126
127 /** Commits the head load. */

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

367 * @todo: Consider having var that records the true number of LQ entries.
368 */
369 unsigned LQEntries;
370 /** The number of SQ entries, plus a sentinel entry (circular queue).
371 * @todo: Consider having var that records the true number of SQ entries.
372 */
373 unsigned SQEntries;
374
375 /** The number of places to shift addresses in the LSQ before checking
376 * for dependency violations
377 */
378 unsigned depCheckShift;
379
380 /** Should loads be checked for dependency issues */
381 bool checkLoads;
382
369 /** The number of load instructions in the LQ. */
370 int loads;
371 /** The number of store instructions in the SQ. */
372 int stores;
373 /** The number of store instructions in the SQ waiting to writeback. */
374 int storesToWB;
375
376 /** The index of the head instruction in the LQ. */

--- 465 unchanged lines hidden ---
383 /** The number of load instructions in the LQ. */
384 int loads;
385 /** The number of store instructions in the SQ. */
386 int stores;
387 /** The number of store instructions in the SQ waiting to writeback. */
388 int storesToWB;
389
390 /** The index of the head instruction in the LQ. */

--- 465 unchanged lines hidden ---