sector_tags.hh (13216:6ae030076b29) sector_tags.hh (13217:725b1701b4ee)
1/*
2 * Copyright (c) 2018 Inria
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;

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

95 /** The amount to shift the address to get the tag. */
96 const int tagShift;
97
98 /** Mask out all bits that aren't part of the sector tag. */
99 const unsigned sectorMask;
100 /** Mask out all bits that aren't part of the set index. */
101 const unsigned setMask;
102
1/*
2 * Copyright (c) 2018 Inria
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;

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

95 /** The amount to shift the address to get the tag. */
96 const int tagShift;
97
98 /** Mask out all bits that aren't part of the sector tag. */
99 const unsigned sectorMask;
100 /** Mask out all bits that aren't part of the set index. */
101 const unsigned setMask;
102
103 /**
104 * Find all possible block locations for insertion and replacement of
105 * an address. Should be called immediately before ReplacementPolicy's
106 * findVictim() not to break cache resizing.
107 * Returns sector blocks in all ways belonging to the set of the address.
108 *
109 * @param addr The addr to a find possible locations for.
110 * @return The possible locations.
111 */
112 std::vector<ReplaceableEntry*> getPossibleLocations(const Addr addr) const
113 override;
114
103 public:
104 /** Convenience typedef. */
105 typedef SectorTagsParams Params;
106
107 /**
108 * Construct and initialize this tag store.
109 */
110 SectorTags(const Params *p);

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

138 * @param addr The address to find.
139 * @param is_secure True if the target memory space is secure.
140 * @param lat The access latency.
141 * @return Pointer to the cache block if found.
142 */
143 CacheBlk* accessBlock(Addr addr, bool is_secure, Cycles &lat) override;
144
145 /**
115 public:
116 /** Convenience typedef. */
117 typedef SectorTagsParams Params;
118
119 /**
120 * Construct and initialize this tag store.
121 */
122 SectorTags(const Params *p);

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

150 * @param addr The address to find.
151 * @param is_secure True if the target memory space is secure.
152 * @param lat The access latency.
153 * @return Pointer to the cache block if found.
154 */
155 CacheBlk* accessBlock(Addr addr, bool is_secure, Cycles &lat) override;
156
157 /**
146 * Find all possible block locations for insertion and replacement of
147 * an address. Should be called immediately before ReplacementPolicy's
148 * findVictim() not to break cache resizing.
149 * Returns sector blocks in all ways belonging to the set of the address.
150 *
151 * @param addr The addr to a find possible locations for.
152 * @return The possible locations.
153 */
154 virtual const std::vector<SectorBlk*> getPossibleLocations(Addr addr)
155 const;
156
157 /**
158 * Insert the new block into the cache and update replacement data.
159 *
160 * @param addr Address of the block.
161 * @param is_secure Whether the block is in secure space or not.
162 * @param src_master_ID The source requestor ID.
163 * @param task_ID The new task ID.
164 * @param blk The block to update.
165 */

--- 89 unchanged lines hidden ---
158 * Insert the new block into the cache and update replacement data.
159 *
160 * @param addr Address of the block.
161 * @param is_secure Whether the block is in secure space or not.
162 * @param src_master_ID The source requestor ID.
163 * @param task_ID The new task ID.
164 * @param blk The block to update.
165 */

--- 89 unchanged lines hidden ---