func_unit.hh (10807:dac26eb4cb64) | func_unit.hh (10936:93890720a932) |
---|---|
1/* 2 * Copyright (c) 2002-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; --- 17 unchanged lines hidden (view full) --- 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 * Authors: Steve Raasch 29 */ 30 31#ifndef __CPU_FUNC_UNIT_HH__ 32#define __CPU_FUNC_UNIT_HH__ 33 | 1/* 2 * Copyright (c) 2002-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; --- 17 unchanged lines hidden (view full) --- 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * 28 * Authors: Steve Raasch 29 */ 30 31#ifndef __CPU_FUNC_UNIT_HH__ 32#define __CPU_FUNC_UNIT_HH__ 33 |
34#include <array> |
|
34#include <bitset> 35#include <string> 36#include <vector> 37 38#include "cpu/op_class.hh" 39#include "params/FUDesc.hh" 40#include "params/OpDesc.hh" 41#include "sim/sim_object.hh" --- 37 unchanged lines hidden (view full) --- 79// 80// The actual FU object 81// 82// 83// 84class FuncUnit 85{ 86 private: | 35#include <bitset> 36#include <string> 37#include <vector> 38 39#include "cpu/op_class.hh" 40#include "params/FUDesc.hh" 41#include "params/OpDesc.hh" 42#include "sim/sim_object.hh" --- 37 unchanged lines hidden (view full) --- 80// 81// The actual FU object 82// 83// 84// 85class FuncUnit 86{ 87 private: |
87 unsigned opLatencies[Num_OpClasses]; 88 bool pipelined[Num_OpClasses]; | 88 std::array<unsigned, Num_OpClasses> opLatencies; 89 std::array<bool, Num_OpClasses> pipelined; |
89 std::bitset<Num_OpClasses> capabilityList; 90 91 public: 92 FuncUnit(); 93 FuncUnit(const FuncUnit &fu); 94 95 std::string name; 96 97 void addCapability(OpClass cap, unsigned oplat, bool pipelined); 98 99 bool provides(OpClass capability); 100 std::bitset<Num_OpClasses> capabilities(); 101 102 unsigned &opLatency(OpClass capability); 103 bool isPipelined(OpClass capability); 104}; 105 106#endif // __FU_POOL_HH__ | 90 std::bitset<Num_OpClasses> capabilityList; 91 92 public: 93 FuncUnit(); 94 FuncUnit(const FuncUnit &fu); 95 96 std::string name; 97 98 void addCapability(OpClass cap, unsigned oplat, bool pipelined); 99 100 bool provides(OpClass capability); 101 std::bitset<Num_OpClasses> capabilities(); 102 103 unsigned &opLatency(OpClass capability); 104 bool isPipelined(OpClass capability); 105}; 106 107#endif // __FU_POOL_HH__ |