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