Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!pt.cs.cmu.edu!MATHOM.GANDALF.CS.CMU.EDU!lindsay
From: lindsay@MATHOM.GANDALF.CS.CMU.EDU (Donald Lindsay)
Newsgroups: comp.arch
Subject: Re: Cycle Counter
Keywords: Performance
Message-ID: <5818@pt.cs.cmu.edu>
Date: 10 Aug 89 15:54:47 GMT
References: <559@halley.UUCP>
Distribution: comp
Organization: Carnegie-Mellon University, CS/RI
Lines: 27
In article <559@halley.UUCP> tjd@foghorn.mpd.tandem.com (Tom Davidson) writes:
>>Not that if makes much difference, but the ETA-10 has several extra registers
>>to keep track of cycle counts for the vector and scalar units.
>
>AS John mentions, some "registers" kept such goodies as a clock counter (in
>whatever periods the particular cpu was running: 7, 10.5, 19ns etc), vector
>unit busy. It also had 5 programmable counters which could be set to track
>such things as
> . number of in stack branches
> . number of branches NOT taken
> . number of times opcode xx was executed
>and a whole host of other neat things. All this could be accesed from a
>fortran program.
One thing that the ETA lacks is a count of the page table traffic
generated by the memory management unit.
That's not too surprising, because I don't know of any production
machine that has this. But they all should!
When a programmer suspects thrashing, the average OS can help by
reporting paging rates, task switch counts, interrupt load, ethernet
packets, and so on. The OS typically is unable to report on cache
traffic or on TLB traffic. To the serious performance tuner, this
is a flaw. On rare occasions, it's even a serious flaw.
--
Don D.C.Lindsay Carnegie Mellon School of Computer Science