From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GN9sK-0003MX-Fl for qemu-devel@nongnu.org; Tue, 12 Sep 2006 11:08:36 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GN9sI-0003MB-Le for qemu-devel@nongnu.org; Tue, 12 Sep 2006 11:08:36 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GN9sI-0003M1-GG for qemu-devel@nongnu.org; Tue, 12 Sep 2006 11:08:34 -0400 Received: from [193.252.23.84] (helo=smtp-msa-out15.orange.fr) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GN9to-0006b5-Ep for qemu-devel@nongnu.org; Tue, 12 Sep 2006 11:10:08 -0400 Message-ID: <33074299.1158073713450.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 17:08:33 +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: Markus Schiltknecht , qemu-devel@nongnu.org > > The most complex thing to accurately simulate a modern > > CPU (including ARMs) is the data cache and by far. > > Hm... you have to elaborate on that one. Aren't those caches like other > caches, too? With well known algorithms like LRU? Data caches typically do many things in one cycle; for instance, if you make a load, it could start looking in a small area between the cache and the core (called write or store buffer) and at the same time look into the real cache to find the data; then depending on the outcome, an external request could be started, this cycle or later depending on previous requests still pending. And this is a simple example ;) On top of that try to find a specification for data side behaviour, these beasts are not documented for two reasons: - they are heavily optimized and so not easily described - they often define the efficiency of a CPU and so are considered as secret. > Simulating branch prediction seems more complex to me (probably because > I'm thinking x86, not ARM). Branch prediction has become very complex on ARM but not as much as data side. Laurent