tournament.hh (11434:b5aed9d2d54e) tournament.hh (11782:c2e1ead33662)
1/*
2 * Copyright (c) 2011, 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

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

52#include "cpu/pred/sat_counter.hh"
53#include "params/TournamentBP.hh"
54
55/**
56 * Implements a tournament branch predictor, hopefully identical to the one
57 * used in the 21264. It has a local predictor, which uses a local history
58 * table to index into a table of counters, and a global predictor, which
59 * uses a global history to index into a table of counters. A choice
1/*
2 * Copyright (c) 2011, 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

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

52#include "cpu/pred/sat_counter.hh"
53#include "params/TournamentBP.hh"
54
55/**
56 * Implements a tournament branch predictor, hopefully identical to the one
57 * used in the 21264. It has a local predictor, which uses a local history
58 * table to index into a table of counters, and a global predictor, which
59 * uses a global history to index into a table of counters. A choice
60 * predictor chooses between the two. Only the global history register
61 * is speculatively updated, the rest are updated upon branches committing
62 * or misspeculating.
60 * predictor chooses between the two. Both the global history register
61 * and the selected local history are speculatively updated.
63 */
64class TournamentBP : public BPredUnit
65{
66 public:
67 /**
68 * Default branch predictor constructor.
69 */
70 TournamentBP(const TournamentBPParams *params);

--- 177 unchanged lines hidden ---
62 */
63class TournamentBP : public BPredUnit
64{
65 public:
66 /**
67 * Default branch predictor constructor.
68 */
69 TournamentBP(const TournamentBPParams *params);

--- 177 unchanged lines hidden ---