<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Computer_architecture_simulator</id>
	<title>Computer architecture simulator - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Computer_architecture_simulator"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Computer_architecture_simulator&amp;action=history"/>
	<updated>2026-05-05T01:51:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Computer_architecture_simulator&amp;diff=4015436&amp;oldid=prev</id>
		<title>imported&gt;The Eloquent Peasant: Importing Wikidata short description: &quot;Program that simulates the execution of computer architecture&quot;</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Computer_architecture_simulator&amp;diff=4015436&amp;oldid=prev"/>
		<updated>2025-03-25T12:43:02Z</updated>

		<summary type="html">&lt;p&gt;Importing Wikidata &lt;a href=&quot;https://en.wikipedia.org/wiki/Short_description&quot; class=&quot;extiw&quot; title=&quot;wikipedia:Short description&quot;&gt;short description&lt;/a&gt;: &amp;quot;Program that simulates the execution of computer architecture&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Program that simulates the execution of computer architecture}}&lt;br /&gt;
{{Refimprove|date=December 2013}}&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;computer architecture simulator&amp;#039;&amp;#039;&amp;#039; is a [[Computer program|program]] that simulates the [[Execution (computing)|execution]] of [[computer architecture]].&lt;br /&gt;
&lt;br /&gt;
Computer architecture simulators are used for the following purposes:&lt;br /&gt;
* Lowering cost by evaluating hardware designs without building physical hardware systems.&lt;br /&gt;
* Enabling access to unobtainable hardware.&lt;br /&gt;
* Increasing the precision and volume of computer performance data.&lt;br /&gt;
* Introducing abilities that are not normally possible on real hardware such as running code backwards when an error is detected or running in faster-than-[[Real-time computing|real time]].&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
&lt;br /&gt;
Computer architecture simulators can be classified into many different categories depending on the context.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scope&amp;#039;&amp;#039;&amp;#039;: [[Microarchitecture simulation|Microarchitecture simulators]] model the [[microprocessor]] and its components. Full-system simulators also model the processor, memory systems, and I/O devices.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Detail&amp;#039;&amp;#039;&amp;#039;: Functional simulators, such as [[instruction set simulator]]s, achieve the same function as modeled components. They can be simulated faster if timing is not considered. Timing simulators are functional simulators that also reproduce timing. Timing simulators can be further categorized into digital cycle-accurate and analog sub-cycle simulators.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Workload&amp;#039;&amp;#039;&amp;#039;: Trace-driven simulators (also called event-driven simulators) react to pre-recorded streams of instructions with some fixed input. Execution-driven simulators allow dynamic change of instructions to be executed depending on different input data.&lt;br /&gt;
&lt;br /&gt;
===Full-system simulators===&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;full-system simulator&amp;#039;&amp;#039;&amp;#039; is execution-driven architecture simulation at such a level of detail that complete software stacks from real systems can run on the simulator without any modification. A full system simulator provides virtual hardware that is independent of the nature of the host computer. The full-system model typically includes [[processor core]]s, [[peripheral device]]s, [[computer memory|memories]], interconnection buses, and [[computer networking|network]] connections. [[Emulator]]s are full system simulators that imitate obsolete hardware instead of under development hardware.&lt;br /&gt;
&lt;br /&gt;
The defining property of full-system simulation compared to an [[Instruction Set Simulator|instruction set simulator]] is that the model allows real [[Device driver wrapper|device drivers]] and [[operating system]]s to be run, not just single programs.  Thus, full-system simulation makes it possible to simulate individual computers and networked computer nodes with all their [[software]], from network device drivers to operating systems, [[network stack]]s, [[middleware]], [[Server (computing)|server]]s, and [[application program]]s.&lt;br /&gt;
&lt;br /&gt;
Full system simulation can speed the system development process by making it easier to detect, recreate and repair flaws. The use of [[multi-core processor]]s is driving the need for full system simulation, because it can be extremely difficult and time-consuming to recreate and debug errors without the controlled environment provided by virtual hardware.&amp;lt;ref&amp;gt;[http://www.ddj.com/184406408 Debugging and Full System Simulation]&amp;lt;/ref&amp;gt; This also allows the software development to take place before the hardware is ready,&amp;lt;ref&amp;gt;{{cite web|year=2009|author=Vania Joloboff|url=http://www.irisa.fr/archi09/joloboff.pdf|title=Full System Simulation of Embedded Systems|access-date=2013-03-06|archive-url=https://web.archive.org/web/20140209190242/http://www.irisa.fr/archi09/joloboff.pdf|archive-date=2014-02-09|url-status=dead}}&amp;lt;/ref&amp;gt; thus helping to validate design decisions.&lt;br /&gt;
&lt;br /&gt;
===Cycle-accurate simulator===&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;cycle-accurate simulator&amp;#039;&amp;#039;&amp;#039; is a computer program that simulates a [[microarchitecture]] on a cycle-by-cycle basis. In contrast an [[instruction set simulator]] simulates an [[instruction set architecture]] usually faster but not cycle-accurate to a specific implementation of this architecture; they are often used when emulating older hardware, where time precision is important for legacy reasons. Often, a cycle-accurate simulator is used when designing new microprocessors{{spaced ndash}}they can be tested, and benchmarked accurately (including running full operating system, or compilers) without actually building a physical chip, and easily change design many times to meet expected plan.&lt;br /&gt;
&lt;br /&gt;
Cycle-accurate simulators must ensure that all operations are executed in the proper virtual (or real if it is possible) time{{spaced ndash}}branch prediction, cache misses, fetches, pipeline stalls, thread context switching, and many other subtle aspects of microprocessors.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Instruction set simulator]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*The Archer virtual infrastructure for computer architecture simulation&lt;br /&gt;
*{{cite web|url=http://www.mikrocodesimulator.de/index_eng.php |title=Mikrocodesimulator MikroSim 2010 |publisher=0/1-SimWare |access-date=2010-12-06}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Simulation software]]&lt;br /&gt;
[[Category:Computer architecture]]&lt;/div&gt;</summary>
		<author><name>imported&gt;The Eloquent Peasant</name></author>
	</entry>
</feed>