emulation and simulation

79
Yarmouk University Faculty of Information Technology and Computer Sciences Department of Computer Information Systems. CIS 642: System Modeling and Simulation 1

Upload: nebalaljamal

Post on 08-Jun-2015

1.201 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Emulation and simulation

1

Yarmouk University Faculty of Information Technology

and Computer Sciences Department of Computer Information

Systems. CIS 642: System Modeling and

Simulation

Page 2: Emulation and simulation

2

Nebal Qassem Al-jamal.

Student Name….

Page 3: Emulation and simulation

3

Presented to: Dr. Samer Samarah

Page 4: Emulation and simulation

4

Emulation and Simulation

Page 5: 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

Page 6: Emulation and simulation

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

Page 7: Emulation and simulation

7

To enhance this transformation, research has created various network test beds that use emulation, or simulation, for conducting medium to large scale experiments,

Page 8: Emulation and simulation

8

Emulation

Page 9: Emulation and simulation

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.

Page 10: Emulation and simulation

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.

Page 11: Emulation and simulation

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.

Page 12: Emulation and simulation

12

Page 13: Emulation and simulation

13

Definitions..

Simulation Definition.

What is the definition of Simulation??

Page 14: Emulation and 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)

Page 15: Emulation and simulation

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.

Page 16: Emulation and simulation

16

The relationship between Simulation and Emulation.

Page 17: Emulation and simulation

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.

Page 18: Emulation and simulation

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.

Page 19: Emulation and simulation

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.

Page 20: Emulation and simulation

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.

Page 21: Emulation and simulation

21

Differences in usage and operation.

Differences between Simulation and Emulation

Page 22: Emulation and simulation

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.

Page 23: Emulation and simulation

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.

Page 24: Emulation and simulation

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.

Page 25: Emulation and simulation

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.

Page 26: Emulation and simulation

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.

Page 27: Emulation and simulation

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.

Page 28: Emulation and simulation

28

Page 29: Emulation and simulation

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.

Page 30: Emulation and simulation

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.

Page 31: Emulation and simulation

31

Page 32: Emulation and simulation

32

Emulation Types

Page 33: Emulation and simulation

33

There are 3 main types for emulation.

Page 34: Emulation and simulation

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. 

Page 35: Emulation and simulation

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.

Page 36: Emulation and simulation

36

Page 37: Emulation and simulation

37

Page 38: Emulation and simulation

38

Page 39: Emulation and simulation

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.

Page 40: Emulation and simulation

40

 For Example. Sun Microsystems' xVM Virtual Box allows multiple operating systems to be run on Windows, Mac, and Unix platforms. 

Page 41: Emulation and simulation

41

Page 42: Emulation and simulation

42

Page 43: Emulation and simulation

43

Page 44: Emulation and simulation

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.

Page 45: Emulation and simulation

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.

Page 46: Emulation and simulation

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.

Page 47: Emulation and simulation

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.

Page 48: Emulation and simulation

48

The Java Platform is a widely used example of a virtual machine.

Page 49: Emulation and simulation

49

Page 50: Emulation and simulation

50

Page 51: Emulation and simulation

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.

Page 52: Emulation and simulation

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 

Page 53: Emulation and simulation

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

Page 54: Emulation and simulation

54

What is the Emulation Framework?

The following diagram will show how emulation works simply.

Page 55: Emulation and simulation

55

Page 56: Emulation and simulation

56

General Advantages And Disadvantages Of

Emulation

Page 57: Emulation and simulation

57

What is the advantages of simulation ?

Page 58: Emulation and simulation

58

What Do Think The Advantages Of Emulation ?

Page 59: Emulation and simulation

59

Development Acceleration

Installation Acceleration at the Customer Site

Promotion of Confidence in Your Solution

Promotion of Customer Satisfaction

Page 60: Emulation and simulation

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

Page 61: Emulation and simulation

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

Page 62: Emulation and simulation

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

Page 63: Emulation and simulation

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.

Page 64: Emulation and simulation

64

What Do Think The Disadvantages Of Emulation ?

Page 65: Emulation and simulation

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.

Page 66: Emulation and simulation

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. 

Page 67: Emulation and simulation

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.

Page 68: Emulation and simulation

68

Page 69: Emulation and simulation

69

Page 70: Emulation and simulation

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;

Page 71: Emulation and simulation

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.

Page 72: Emulation and simulation

72

Page 73: Emulation and simulation

73

Page 74: Emulation and simulation

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)

Page 75: Emulation and simulation

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 .

Page 76: Emulation and simulation

76

5) Emulation may require a large commitment in resources, and highly skilled computer programmers would be needed to write the emulator code.

Page 77: Emulation and simulation

77

Page 78: Emulation and simulation

78

Page 79: Emulation and simulation

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.