From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GN9LT-0004Gq-Mz for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:34:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GN9LR-0004Fb-Qh for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:34:39 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GN9LR-0004FX-LZ for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:34:37 -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 1GN9Mw-0002ns-CA for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:36:11 -0400 From: Paul Brook Subject: Re: [Qemu-devel] ARM CPU Speed simulated by Qemu? Date: Tue, 12 Sep 2006 15:34:27 +0100 References: <20060912072037.96809.qmail@web38105.mail.mud.yahoo.com> <200609121439.15226.paul@codesourcery.com> <4506C261.5070309@bluegap.ch> In-Reply-To: <4506C261.5070309@bluegap.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200609121534.29506.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 > How much do misses on the branch prediction level cost? How much > pipeline interlocks? I don't think those would be _that_ dramatic. Since > today's compilers are said to be optimizing quite well... It all depends on the code you're running. Certainly branch prediction can have a major effect if the hardware consistently gets it wrong. Even arm hardware has 5/7 stage pipelines that need flushing on a mispredict. Pipeline interlocks are likely to be relatively small, for most Arm hardware at least (ia64 is a completely different story :-). As a compiler author I'd generally expect a few % performance improvement from a good scheduling model. I wouldn't assuming the compiler gets everything right, as it's quite common for systems to be built for the lowest common denominator target. Paul