From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GN8Tx-0006xe-0u for qemu-devel@nongnu.org; Tue, 12 Sep 2006 09:39:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GN8Tv-0006xK-Gu for qemu-devel@nongnu.org; Tue, 12 Sep 2006 09:39:20 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GN8Tv-0006xH-Av for qemu-devel@nongnu.org; Tue, 12 Sep 2006 09:39:19 -0400 Received: from [65.74.133.4] (helo=mail.codesourcery.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GN8VQ-0006qw-8o for qemu-devel@nongnu.org; Tue, 12 Sep 2006 09:40:52 -0400 From: Paul Brook Subject: Re: [Qemu-devel] ARM CPU Speed simulated by Qemu? Date: Tue, 12 Sep 2006 14:39:14 +0100 References: <20060912072037.96809.qmail@web38105.mail.mud.yahoo.com> <200609121343.38015.paul@codesourcery.com> <4506B3DF.3000400@bluegap.ch> In-Reply-To: <4506B3DF.3000400@bluegap.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200609121439.15226.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Tuesday 12 September 2006 14:19, Markus Schiltknecht wrote: > Paul Brook wrote: > > Modern CPUs are complicated, with many factors effecting execution speed > > (pipeline interlocks, multiple levels of cache). A cycle accurate > > simulator will generally be orders of magnitude slower than qemu. > > Would it be feasible to just limit the number of instructions qemu > simulates? Of course that's not very precise and most probably far from > cycle accurate. But it would allow to easily scale down a virtual > machine. Which then would allow comparable benchmarks or such. > > One step, somewhat more accurate would be to weight all the different > assembler commands with known (measured) average execution times. Taking > into account 40% cache misses, for example. (Hm.. but since cache misses > are very expensive, that might not lead to a much better approximation, > I guess) I'd be surprised if you managed to get any sort of reliable results. Most of what you described can be achieved with profiling and static analysis. You could maybe get order-of-magnitude estimates (ie. do you need a 20MHz cpu or a 2GHz cpu), but I certainly wouldn't trust the results for deciding between eg. 500MHz and 200MHz cores. IMHO a benchmarking setup that doesn't reliably correspond to real system performance is worse than useless. Paul