emulation and simulation
TRANSCRIPT
1
Yarmouk University Faculty of Information Technology
and Computer Sciences Department of Computer Information
Systems. CIS 642: System Modeling and
Simulation
2
Nebal Qassem Al-jamal.
Student Name….
3
Presented to: Dr. Samer Samarah
4
Emulation and Simulation
5
Key points….
Introduction.History of Emulation. Definition of; Simulation, &&&& Emulation.The relationship between Simulation and
Emulation.Emulation TypesEmulator types.What is the Emulation Framework?General Advantages And Disadvantages Of
Emulation
6
The advancement of large-scale computer and communication networks, such as Internet, power grid control networks, heavily depends on the successful transformation from in house research efforts to real productions.
Introduction
7
To enhance this transformation, research has created various network test beds that use emulation, or simulation, for conducting medium to large scale experiments,
8
Emulation
9
Emulation History. The first concept of emulation actually dates
back to the first computer, the Colossus.
It was used by the British government in 1941
to mimic the functions of the Nazi Enigma code machine.
Emulation theory was developed in 1962 and was conceived by three IBM engineers working from three different angles.
10
The next major breakthrough in emulation development;
came in 1989 when developers figure out how to put the
contents of a ROM chip into a file and run the file through an emulator instead of needing a physical chip.
By 1991, game system emulation began to emerge, starting with Sega Genesis emulation.
By 1997, dynamic recompilation techniques are developed which allow exponential increases in the speed of emulation.
11
Also around this time, companies begin to create emulators of both classic and modern machines and market them.
Emulation is now a key part of computing though most do not realize its significance.
12
13
Definitions..
Simulation Definition.
What is the definition of Simulation??
14
Emulation Definition.Emulation:. (computing) Running a program or other software designed for a different system.(wikipedia, 2013).
The duplication of functionality of systems, be it software. Hardware parts, or legacy computer system as a whole, needed to display, access or edit a certain document.
Hardware emulation:. the use of special purpose hardware to emulate the behavior of a yet-to-be-built system, with greater speed than pure software emulation( Wikipedia, 2013)
15
Simulation is like you watching a movie.
while
Emulation is you trying to act the movie by putting on costume and makeup to look like an actor in the movie ...
Emulation is to make a software to do the same functionality of any device or any other software for real work.
16
The relationship between Simulation and Emulation.
17
Differences between Simulation and Emulation
The first point to discuss is about the difference regarding,
The development of digital signal processor (DSP).
The roles of simulation and emulation in the development of DSP-based designs can be confusing.
18
The main difference between simulation and emulation is that,
simulation is done in software and emulation is done in hardware.
It is important to mention that together they complement each other to deliver benefits that either one alone cannot provide.
The work of simulation begins in the very first stages of design, where the designer uses it to evaluate initial code.
Typically months before hardware is available.
19
Emulation allows developers to see the real-time interactions between different hardware and software models.
Developers use the emulator later in the design cycle when real-world data is available to run with the code.
20
It validates the simulator-tested design by determining how the actual hardware performs when the application runs on it.
With repeating emulation further optimization done for hardware performance.
AGAIN it is important to stated that, Simulation is not a replacement for emulation and real hardware.
The two technologies are complementary to each other and should be used in conjunction through the design flow.
21
Differences in usage and operation.
Differences between Simulation and Emulation
22
Different Aims
Simulation , results help define the physical layout of a system, its operating limits and its control system, Models are
used as a basis for extensive experimentation.
Emulation models are not used for experimentation
in the same way that simulation models are; they often execute only in real time.
The emulation model reflects more specifically the system that will be
implemented.
23
Execution for Simulation and Emulation
High-Speed Execution for Simulation.the faster simulation can cover all different possibilities, the better.
Simulation modeling software is therefore designed and developed with speed of
execution in mind.
Real-Time Execution for Emulation.The great majority of control systems are designed to operate in real time, and so
emulation experiments should be operated in real time.
24
“Instant” Decisions in Simulation VersusResponse Times in Real Systems
A simulation model maintains its own simulation clock.
An emulation model must reflect dynamic based model. reality and incorporate
decisions that take a finite time.
25
The Importance of,,
The Importance of Repeatability for Simulation.
Repeatability is necessary in order to recreate and understand events during the model run, as well as to debug the model
as it is built.The Importance of Robustness for Emulation Due to the fact that in most emulation models the control system is
separate from the model itself, repeatability is Uncertain.
The model and the control system work with different clocks and synchronize via a communications layer, itself prone to the
decisions of the operating system.
26
Similarities between Simulation and Emulation
In order to appreciate how emulation models work and identify those properties that give them credibility, it is useful to start by identifying what simulation and emulation models have in common.
27
3D Representation
• Simulation and Emulation models should be in three dimensions if they are to be easily and readily understood.
• Two-dimensional models may be harder to interpret, especially when actual movement in three dimensions is modeled, and reality may actually be covered.
28
29
Accurate Movement
• In order to be useful, a model must be accurate.• Accurate mean the results remain statistically meaningful.• Accuracy requirements depend on the project, and therefore the level of accuracy
required changes from model to model.
30
Zero-Abstraction Elements
• The less time a modeler spends trying to make software constructs behave like real system elements, the easier it is to build, operate and maintain a model.
• Zero abstraction elements help to achieve this through providing realistic modeling objects that have the same characteristics as their real counterparts.
31
32
Emulation Types
33
There are 3 main types for emulation.
34
Applications
• Writing a new software application to do what an earlier application did; • This allows files to be read on an operating system other than the one for which the
original creating application was written.• Such as allows console video games, such as Nintendo, Sega, and PlayStation games, to
be run on a PC.
35
The program ZSNES, for example, allows Super Nintendo (SNES) games to be played on a Windows or Unix machine.
The Virtual Boy Advance emulator allows users to play Game Boy Advance games on Windows or Macintosh computers. Games for These emulators are saved as ROM files,
Therefore, instead loading a physical cartridge, video game emulators simply load ROM files from the computer's hard drive.
36
37
38
39
Operating systems
• Enabling all the software which run on one platform to run on the emulated version. • However, emulating an operating system also requires having, or emulating, an
appropriate hardware platform.• Running different operating system in a virtual environment.
40
For Example. Sun Microsystems' xVM Virtual Box allows multiple operating systems to be run on Windows, Mac, and Unix platforms.
41
42
43
44
Hardware architecture
• Emulating hardware means that all the operating systems and applications that ran on the original hardware platform can be run without modification on the new, emulated platform.
45
This is the most commonly employed type ; it means that the emulation of applications and operating systems is unnecessary, because they can be preserved in their original state and run on the emulated hardware.
46
Hardware emulation is the use of one hardware device
to mimic the function of another hardware device.
A hardware emulator is designed to simulate the workings of an entirely different hardware platform than the one it runs on. Hardware emulation is generally used to debug and verify a system under design.
47
Virtual machine.
Hardware emulation can be implemented via, VM.A virtual machine emulates a computer that has never
actually existed as hardware.
Programs are written to run on the virtual machine rather than on a specific computer;
if the virtual machine is then implemented on many different computers, all of the programs written for the virtual machine can run on any of those computers.
48
The Java Platform is a widely used example of a virtual machine.
49
50
51
EMULATOR TYPES.
Emulator: An emulator is a piece of software that uses software to virtually re-create a given set of hardware, be it the Nintendo Entertainment System, a PPC-based Mac or an old PC runing MS-DOS.
52
Nintendo GameCube Nintendo 64 Gameboy Gameboy Advance Super Nintendo Nintendo NES Nintendo DS Nintendo Wii Virtual Boy
Sony Sony Playstation Sony Playstation 2 Sony Playstation 3 Sony PSP
53
Microsoft. Microsoft XBox Microsoft XBox 360
Sega Sega Dreamcast Sega Saturn Sega Genesis Sega Master System Sega Game Gear
Non PC Emulators Macintosh Emulators Mobile Emulators
More EmulatorsComputer Emulators 3DO Emulators PC-Engine Emulators Wonderswan Emulators MSX Emulators Amiga Emulators NeoGeo Pocket Color Misc Emulators
54
What is the Emulation Framework?
The following diagram will show how emulation works simply.
55
56
General Advantages And Disadvantages Of
Emulation
57
What is the advantages of simulation ?
58
What Do Think The Advantages Of Emulation ?
59
Development Acceleration
Installation Acceleration at the Customer Site
Promotion of Confidence in Your Solution
Promotion of Customer Satisfaction
60
1. Promotes incremental testing in a testing environment.
2. Identifies difficult- or impossible-to-find failures by being able to see the entire system at once
3. Simplifies the set-up and repetition of complex tests
4. Supports load testing and voluminous data acquisition
5. Tests the entire system and not disintegrated components
Development Acceleration
61
Installation Acceleration at the Customer Site
1. Minimizes the impact on production
2. Focuses attention on mechanical and electrical issues
3. Minimizes travel and accommodation costs
62
Promotion of Confidence in Your Solution
1. Proves the solution beforehand
2. Demonstrates and documents adherence to the specifications
3. Clarifies on-site changed requirements and justifies change orders
4. Gives your developers confidence
5. Prevents developer and installer burn-out
63
Promotion of Customer Satisfaction
1. Does not use the customer’s equipment for testing.
2. Transmits your developers’ confidence to your customer.
3. Impresses your customer with the speed of commissioning.
64
What Do Think The Disadvantages Of Emulation ?
65
Inability to Utilize
Hardware.
Loss of RAM
Monetary Cost
Legal Issues
Emulation may require a large commitment in resources, and
highly skilled computer programmers would be needed
to write the emulator code.
66
Disadvantages of emulation.1) Inability to Utilize Hardware.
The first and most painful disadvantage for many users is the emulated system's inability to access certain pieces of the main system's hardware.
67
This problem is particularity dominant regarding video cards,like Nintendo cards .
There is no commercial virtualization software that can effectively take advantage of the cards;
This means that, while working in the emulated environment, you will not be able to take advantage of the card.
You either will not be able to run graphically heavy applications or that you will,
BUT your RAM will be put under an even heavier workload.
68
69
70
2)Loss of RAM.
Putting any unnecessary load on your RAM is a particularly bad idea when working with virtualization.
For example.Ubuntu takes about 450MB of RAM to run, while
Windows Vista requires about a gigabyte.
So, if you are emulating Vista in Ubuntu, then you need at least 1.5 gigabytes just for the operating systems themselves;
71
That does not even count the RAM required to run VMWare or some other virtualization tool. Regardless of what you are trying to do,
losing 1.5 gigabytes of usable memory is a big deal.
72
73
74
3)Monetary Cost
Emulation is also more expensive than working natively.
Not only do you have to pay for the virtualization tool, but you also have to buy the guest operating system, which, if Windows can cost upwards of $150 (as of 2010)
75
4) Legal issue.Starts with console games on 1995, While writing and
distributing emulators is legal, the distribution of ROMs is not legal.
Starting in 1997, the Interactive Digital Software Association, a conglomerate of software companies, began to crack down on websites that distributed ROMs.
The real legal issues arose in 1998 when "next-generation" systems began to be emulated. The Nintendo 64 and Sony Playstation consoles were emulated.
Like what happen with Sony .
76
5) Emulation may require a large commitment in resources, and highly skilled computer programmers would be needed to write the emulator code.
77
78
79
Jin, D.,. Zheng, Y., Zhu, H., Nicol, D., & Winterrowd, L. (2012).Virtual Time Integration of Emulation and Parallel Simulation. ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation.
MCGREGOR, I. 2002. The relationship between simulation and emulation. Proceedings of the 2002 Winter Simulation Conference
Emulation. Retrieved November 2013,from Wiki: http://en.wikipedia.org/wiki/emulation.
Emulation application. Retrieved 2013 http://kaluszka.com/vt/emulation/applications.html, Aaron Kaluszka,14 Dec 2001.
Emulation. retrieved 2013. http://pc.net/glossary/definition/emulation. Detailing the Difference Between Simulators and Emulators in Software
Development, retrieved 2013, http://newscenter.ti.com/index.php?s=32851&item=126331.
Benefits of Emulation. Retrieved 2013 http://emulogix.com/benefits.html.