func_unit.hh (2736:98dcdc08884d) | func_unit.hh (5034:6186ef720dd4) |
---|---|
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; --- 22 unchanged lines hidden (view full) --- 31#ifndef __CPU_FUNC_UNIT_HH__ 32#define __CPU_FUNC_UNIT_HH__ 33 34#include <bitset> 35#include <string> 36#include <vector> 37 38#include "cpu/op_class.hh" | 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; --- 22 unchanged lines hidden (view full) --- 31#ifndef __CPU_FUNC_UNIT_HH__ 32#define __CPU_FUNC_UNIT_HH__ 33 34#include <bitset> 35#include <string> 36#include <vector> 37 38#include "cpu/op_class.hh" |
39#include "params/OpDesc.hh" 40#include "params/FUDesc.hh" |
|
39#include "sim/sim_object.hh" 40 41//////////////////////////////////////////////////////////////////////////// 42// 43// Structures used ONLY during the initialization phase... 44// 45// 46// 47 48struct OpDesc : public SimObject 49{ 50 OpClass opClass; 51 unsigned opLat; 52 unsigned issueLat; 53 | 41#include "sim/sim_object.hh" 42 43//////////////////////////////////////////////////////////////////////////// 44// 45// Structures used ONLY during the initialization phase... 46// 47// 48// 49 50struct OpDesc : public SimObject 51{ 52 OpClass opClass; 53 unsigned opLat; 54 unsigned issueLat; 55 |
54 OpDesc(std::string name, OpClass c, unsigned o, unsigned i) 55 : SimObject(name), opClass(c), opLat(o), issueLat(i) {}; | 56 OpDesc(const OpDescParams *p) 57 : SimObject(p), opClass(p->opClass), opLat(p->opLat), 58 issueLat(p->issueLat) {}; |
56}; 57 58struct FUDesc : public SimObject 59{ 60 std::vector<OpDesc *> opDescList; 61 unsigned number; 62 | 59}; 60 61struct FUDesc : public SimObject 62{ 63 std::vector<OpDesc *> opDescList; 64 unsigned number; 65 |
63 FUDesc(std::string name, std::vector<OpDesc *> l, unsigned n) 64 : SimObject(name), opDescList(l), number(n) {}; | 66 FUDesc(const FUDescParams *p) 67 : SimObject(p), opDescList(p->opList), number(p->count) {}; |
65}; 66 | 68}; 69 |
67typedef std::vector 68typedef std::vector | 70typedef std::vector<OpDesc *>::const_iterator OPDDiterator; 71typedef std::vector<FUDesc *>::const_iterator FUDDiterator; |
69 70 71 72 73//////////////////////////////////////////////////////////////////////////// 74// 75// The actual FU object 76// --- 25 unchanged lines hidden --- | 72 73 74 75 76//////////////////////////////////////////////////////////////////////////// 77// 78// The actual FU object 79// --- 25 unchanged lines hidden --- |