From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GN9VC-0000ZX-8G for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:44:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GN9V9-0000ZG-Mh for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:44:40 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GN9V9-0000ZD-KP for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:44:39 -0400 Received: from [193.252.23.84] (helo=smtp-msa-out15.orange.fr) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GN9Wf-0003o5-BF for qemu-devel@nongnu.org; Tue, 12 Sep 2006 10:46:13 -0400 Received: from wwinf1515 (wwinf1515 [172.22.146.59]) by mwinf1501.orange.fr (SMTP Server) with ESMTP id 98A3E70000A7 for ; Tue, 12 Sep 2006 16:44:37 +0200 (CEST) Message-ID: <21288277.1158072277598.JavaMail.www@wwinf1515> From: Laurent DESNOGUES Subject: Re: [Qemu-devel] ARM CPU Speed simulated by Qemu? Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Date: Tue, 12 Sep 2006 16:44:37 +0200 (CEST) Reply-To: laurent.desnogues@wanadoo.fr, 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 > Now, CPUs is where I have only a vague idea of what would be needed to > simulate. I know there are up to three levels of caches and main memory, > which all have different access times. The CPU itself has a pipeline and > branch prediction and such which could invalidate the contents of > pipeline up to a given point (of branching). > > I think the most time consuming operation which should be properly > simulated is memory access. For this to work properly, all levels of > caches must be emulated, too. > > 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... The most complex thing to accurately simulate a modern CPU (including ARMs) is the data cache and by far. In comparison, getting accurate core pipeline simulation is *very* easy. There is a company that claims to be able to accurately simulate an at 200 Mhz (http://www.vastsystems.com). I bet there are using statistical cycle counting and so are probably very wrong :) Laurent