stats.cc revision 11419:9c7b55faea5d
111308Santhony.gutierrez@amd.com/* 212697Santhony.gutierrez@amd.com * Copyright (c) 2012-2014 ARM Limited 311308Santhony.gutierrez@amd.com * All rights reserved 411308Santhony.gutierrez@amd.com * 511308Santhony.gutierrez@amd.com * The license below extends only to copyright in the software and shall 611308Santhony.gutierrez@amd.com * not be construed as granting a license to any other intellectual 711308Santhony.gutierrez@amd.com * property including but not limited to intellectual property relating 811308Santhony.gutierrez@amd.com * to a hardware implementation of the functionality of the software 911308Santhony.gutierrez@amd.com * licensed hereunder. You may use the software subject to the license 1011308Santhony.gutierrez@amd.com * terms below provided that you ensure that this notice is replicated 1111308Santhony.gutierrez@amd.com * unmodified and in its entirety in all distributions of the software, 1211308Santhony.gutierrez@amd.com * modified or unmodified, in source code or in binary form. 1311308Santhony.gutierrez@amd.com * 1411308Santhony.gutierrez@amd.com * Redistribution and use in source and binary forms, with or without 1511308Santhony.gutierrez@amd.com * modification, are permitted provided that the following conditions are 1611308Santhony.gutierrez@amd.com * met: redistributions of source code must retain the above copyright 1712697Santhony.gutierrez@amd.com * notice, this list of conditions and the following disclaimer; 1812697Santhony.gutierrez@amd.com * redistributions in binary form must reproduce the above copyright 1912697Santhony.gutierrez@amd.com * notice, this list of conditions and the following disclaimer in the 2011308Santhony.gutierrez@amd.com * documentation and/or other materials provided with the distribution; 2111308Santhony.gutierrez@amd.com * neither the name of the copyright holders nor the names of its 2211308Santhony.gutierrez@amd.com * contributors may be used to endorse or promote products derived from 2311308Santhony.gutierrez@amd.com * this software without specific prior written permission. 2411308Santhony.gutierrez@amd.com * 2511308Santhony.gutierrez@amd.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2611308Santhony.gutierrez@amd.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2711308Santhony.gutierrez@amd.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2811308Santhony.gutierrez@amd.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2911308Santhony.gutierrez@amd.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 3011308Santhony.gutierrez@amd.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 3111308Santhony.gutierrez@amd.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 3211308Santhony.gutierrez@amd.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 3312697Santhony.gutierrez@amd.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3412697Santhony.gutierrez@amd.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3512697Santhony.gutierrez@amd.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3611308Santhony.gutierrez@amd.com * 3711308Santhony.gutierrez@amd.com * Authors: Andrew Bardsley 3811308Santhony.gutierrez@amd.com */ 3911308Santhony.gutierrez@amd.com 4011308Santhony.gutierrez@amd.com#include "cpu/minor/stats.hh" 4111308Santhony.gutierrez@amd.com 4211308Santhony.gutierrez@amd.comnamespace Minor 4311308Santhony.gutierrez@amd.com{ 4411308Santhony.gutierrez@amd.com 4511308Santhony.gutierrez@amd.comMinorStats::MinorStats() 4611308Santhony.gutierrez@amd.com{ } 4711308Santhony.gutierrez@amd.com 4811308Santhony.gutierrez@amd.comvoid 4911308Santhony.gutierrez@amd.comMinorStats::regStats(const std::string &name, BaseCPU &baseCpu) 5011308Santhony.gutierrez@amd.com{ 5111308Santhony.gutierrez@amd.com numInsts 5212680Sgiacomo.travaglini@arm.com .name(name + ".committedInsts") 5311308Santhony.gutierrez@amd.com .desc("Number of instructions committed"); 5411308Santhony.gutierrez@amd.com 5512126Sspwilson2@wisc.edu numOps 5612126Sspwilson2@wisc.edu .name(name + ".committedOps") 5712126Sspwilson2@wisc.edu .desc("Number of ops (including micro ops) committed"); 5811308Santhony.gutierrez@amd.com 5911308Santhony.gutierrez@amd.com numDiscardedOps 6011308Santhony.gutierrez@amd.com .name(name + ".discardedOps") 6111308Santhony.gutierrez@amd.com .desc("Number of ops (including micro ops) which were discarded " 6211308Santhony.gutierrez@amd.com "before commit"); 6311308Santhony.gutierrez@amd.com 6411308Santhony.gutierrez@amd.com numFetchSuspends 6511308Santhony.gutierrez@amd.com .name(name + ".numFetchSuspends") 6611308Santhony.gutierrez@amd.com .desc("Number of times Execute suspended instruction fetching"); 6711308Santhony.gutierrez@amd.com 6811308Santhony.gutierrez@amd.com quiesceCycles 6911308Santhony.gutierrez@amd.com .name(name + ".quiesceCycles") 7011308Santhony.gutierrez@amd.com .desc("Total number of cycles that CPU has spent quiesced or waiting " 7111308Santhony.gutierrez@amd.com "for an interrupt") 7211308Santhony.gutierrez@amd.com .prereq(quiesceCycles); 7311308Santhony.gutierrez@amd.com 7411308Santhony.gutierrez@amd.com cpi 7511308Santhony.gutierrez@amd.com .name(name + ".cpi") 7611308Santhony.gutierrez@amd.com .desc("CPI: cycles per instruction") 7711308Santhony.gutierrez@amd.com .precision(6); 7811308Santhony.gutierrez@amd.com cpi = baseCpu.numCycles / numInsts; 7911308Santhony.gutierrez@amd.com 8011308Santhony.gutierrez@amd.com ipc 8111308Santhony.gutierrez@amd.com .name(name + ".ipc") 8211308Santhony.gutierrez@amd.com .desc("IPC: instructions per cycle") 8311308Santhony.gutierrez@amd.com .precision(6); 8411308Santhony.gutierrez@amd.com ipc = numInsts / baseCpu.numCycles; 8511308Santhony.gutierrez@amd.com 8611308Santhony.gutierrez@amd.com committedInstType 8711308Santhony.gutierrez@amd.com .init(baseCpu.numThreads, Enums::Num_OpClass) 8811308Santhony.gutierrez@amd.com .name(name + ".op_class") 8911308Santhony.gutierrez@amd.com .desc("Class of committed instruction") 9011308Santhony.gutierrez@amd.com .flags(Stats::total | Stats::pdf | Stats::dist); 9111308Santhony.gutierrez@amd.com committedInstType.ysubnames(Enums::OpClassStrings); 9211308Santhony.gutierrez@amd.com} 9311308Santhony.gutierrez@amd.com 9411308Santhony.gutierrez@amd.com}; 9511308Santhony.gutierrez@amd.com