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 --- |