bi_mode.hh (11429:cf5af0cc3be4) | bi_mode.hh (11433:72b075cdc336) |
---|---|
1/* 2 * Copyright (c) 2014 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; --- 49 unchanged lines hidden (view full) --- 58 public: 59 BiModeBP(const BiModeBPParams *params); 60 void uncondBranch(Addr pc, void * &bp_history); 61 void squash(void *bp_history); 62 bool lookup(Addr branch_addr, void * &bp_history); 63 void btbUpdate(Addr branch_addr, void * &bp_history); 64 void update(Addr branch_addr, bool taken, void *bp_history, bool squashed); 65 void retireSquashed(void *bp_history); | 1/* 2 * Copyright (c) 2014 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; --- 49 unchanged lines hidden (view full) --- 58 public: 59 BiModeBP(const BiModeBPParams *params); 60 void uncondBranch(Addr pc, void * &bp_history); 61 void squash(void *bp_history); 62 bool lookup(Addr branch_addr, void * &bp_history); 63 void btbUpdate(Addr branch_addr, void * &bp_history); 64 void update(Addr branch_addr, bool taken, void *bp_history, bool squashed); 65 void retireSquashed(void *bp_history); |
66 unsigned getGHR(void *bp_history) const; |
|
66 67 private: 68 void updateGlobalHistReg(bool taken); 69 70 struct BPHistory { 71 unsigned globalHistoryReg; 72 // was the taken array's prediction used? 73 // true: takenPred used --- 40 unchanged lines hidden --- | 67 68 private: 69 void updateGlobalHistReg(bool taken); 70 71 struct BPHistory { 72 unsigned globalHistoryReg; 73 // was the taken array's prediction used? 74 // true: takenPred used --- 40 unchanged lines hidden --- |