Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!uwvax!rutgers!lll-lcc!pyramid!prls!mips!mash From: mash@mips.UUCP (John Mashey) Newsgroups: comp.arch Subject: Re: brash micros ... [really: CPI versus (cycles)/(work)] Message-ID: <667@winchester.UUCP> Date: Wed, 9-Sep-87 00:03:36 EDT Article-I.D.: winchest.667 Posted: Wed Sep 9 00:03:36 1987 Date-Received: Thu, 10-Sep-87 07:16:06 EDT References: <622@winchester.UUCP> <12953@amdahl.amdahl.com> Reply-To: mash@winchester.UUCP (John Mashey) Organization: MIPS Computer Systems, Sunnyvale, CA Lines: 45 In article <1251@pdn.UUCP> alan@pdn.UUCP (0000-Alan Lovejoy) writes: >In article <649@winchester.UUCP> mash@winchester.UUCP (John Mashey) writes: > >Again, this is not to denigrate cycles/instruction as something architects > >use:... >>a given benchmark. This was the original anti-RISC argument: "yes, the > >Aha! "on a given benchmark"! Precisely! Normalizing to "units of >work" NECESSARILY involves using a (set of) "given benchmark(s)". It is >a virtual certainty that any set of benchmarks you choose skews the >measurement of work so that some CPU's will either suffer or benefit >to an extreme degree in their percieved performance using normalized >instructions to measure work accomplished. Eventually, of course, >one must decide on a benchmark suite, but that "binding" should be >delayed for as long as possible, so that the performance numbers >are not "skewed" before they have to be. Whether you know it or not, anyone who quotes a CPI is assuming something about the benchmark set, whether you know it or not. You cannot compute a CPI for any but the simplest machine without using benchmarks, because the CPI can vary substantially on the same machine, even with honest real benchmarks; the CPI can be driven very high or very low by artificial ones. CPI's DON'T EXIST APART FROM BENCHMARKS. For example, on the same CPU: 1.05 small loopy benchmark that fits in caches [Dhrystone] 2-3 bigger one, with some FP, or cache misses, depending on memory system [Hspice] 30+ handcoded program that does mostly integer divides One perhaps can argue that a CPU has a given CPI on "typical" programs, whatever those are, but like it or not, a CPI always was derived from benchmarks, if the CPI is an engineering number at all. If one at least specifies the benchmarks, then other can judge whether or not the benchmarks are relevant or not. For example, although the Ridge folks have published some CPI numbers I don't quite understand, at least they've spec'd that the CPI's are for Whetstones [good: at least I know what they're for and can judge whether or not the number might be relevant. For example, a CPI under 2 for Whetstone means a RISC CPU probably has decent floating point.] Anyway, maybe it's time to see if anybody else has useful thoughts on this, else we ought to continue the discussion via email. -- -john mashey DISCLAIMER: UUCP: {decvax,ucbvax,ihnp4}!decwrl!mips!mash OR mash@mips.com DDD: 408-991-0253 or 408-720-1700, x253 USPS: MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086