현재 위치 - 중국 분류 정보 발표 플랫폼 - 비즈니스 서비스 정보 - Simulation 과 emulation 의 차이점 (회전)

Simulation 과 emulation 의 차이점 (회전)

Simulation 과 emulation 의 차이점

설명 1:

시뮬레이션 (Simulation) 은 물리적 또는 추상적인 시스템의 특정 동작 특성을 선택하여 다른 시스템으로 표현하는 프로세스입니다. 시뮬레이션 기술의 고급 단계를 시뮬레이션 시뮬레이션 (Emulation), 시스템 시뮬레이션이라고 합니다. 즉, 데이터 처리 시스템을 사용하여 데이터 처리 시스템을 전부 또는 부분적으로 시뮬레이션하여 모방된 시스템이 동일한 데이터를 받아들이고 동일한 프로그램을 실행하고 동일한 결과를 얻을 수 있도록 합니다.

설명 2:

시뮬레이션 (Emulation) 은 장치의 내부 설계를 모방하려는 시도입니다. 시뮬레이션 (Simulation) 은 장치를 모방하려는 기능입니다.

설명 3:

Emulation: when one system performs in exactly the same way as another, Though perhaps not at the same speed.a typical example would be emulation of one computer by (a program running on) Another.you migh use emulation as a replacement for a system whereas you would use a simulation if you just wanted to analyse it and make prediction

Simulation: attempting to predict aspects of the behaviour of some system by creating an approximate (mathematical) Model of it. this can be done by physical modelling, by writing a special-purpose computer program or using a more general simulation pap Probably still aimed at a particular kind of simulation (e. g. structural engineering, Fluid flow). typical examples are ari craft flight simulators or electronic circuit simulators. a great many simulation languages exiss

설명 4:

Simulation 은 소프트웨어를 사용하여 시스템의 기능을 시뮬레이션하며 시스템의 내부 세부 사항을 구현할 필요가 없습니다. 동일한 입력으로 소프트웨어의 출력이 시뮬레이션된 시스템의 출력과 일치하면 됩니다.

예를 들어, PC 에서 simulate Red Ball 의 게임' 슈퍼마리' 에 소프트웨어를 사용한다면, 레드백기의' 슈퍼마리' 게임처럼 작동하기만 하면 됩니다. 이 소프트웨어를 어떻게 구현하느냐는 중요하지 않습니다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 컴퓨터명언)

Emulation 은 소프트웨어를 사용하여 시스템의 구성 요소를 시뮬레이션하고 시스템의 작동 메커니즘을 실제로 시뮬레이션하는 것을 말합니다. 이를 위해서는 소프트웨어 작성자가 시뮬레이션된 시스템의 내부 구조를 잘 이해하고 다양한 데이터 구조를 활용하여 개별 부품을 모델링할 수 있어야 합니다. 에뮬라테 레드백기의 게임' 슈퍼마리' 도 먼저 소프트웨어를 이용해 레드백기의 다양한 하드웨어 (예: CPU, 메모리, 그래픽 처리 칩, 사운드 처리 칩, 게임 손잡이 등) 를 시뮬레이션한 다음, 게임의 ROM 을 로드하여 게임을 실행해야 한다. 현재 다양한 게임 시뮬레이터 (예: MAME, VirtualNes) 는 모두 emulation 의 수단으로 게임 시뮬레이션을 수행하므로 emulator 라고도 합니다.

시뮬레이션이란 한 플랫폼에서 소프트웨어로만 다른 플랫폼에서 프로그램 실행을 시뮬레이션하는 것을 말합니다. 시뮬레이션에는' 시뮬레이션' 과' 에뮬런' 이 포함되어 있습니다. 이 두 가지 분석을 통해' 시뮬레이션' 은' 시뮬레이션' 과 비슷한 높은 수준의 시뮬레이션이라는 것을 알 수 있습니다.

시뮬레이션에 대한 해석은 훨씬 더 많다. 어떤 것은 기계 밑바닥의 마이크로명령어로 다른 플랫폼을 실행하는 명령을 설명하는 것이고, 어떤 것은 소프트웨어가 하드웨어와 결합하여 다른 플랫폼 프로그램의 작동을 시뮬레이션하는 것이다. 즉,' 하드웨어 시뮬레이션+소프트웨어 시뮬레이션' 이다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 시뮬레이션명언) 사실, 이 두 가지는 서로 다른 시뮬레이션 개체와 숙주 플랫폼을 대상으로 합니다. 전자는 특히 시스템 시뮬레이션에 관한 것이며, 메인프레임 CPU (현재 PC 기계라고도 함) 를 시뮬레이션 대상으로 하며, 일반적으로 CPU 를 개발하는 과정에서 호스트 CPU 를 사용하여 소프트웨어 작동을 시뮬레이션하여 하드웨어와 소프트웨어의 연구 개발 프로세스를 동기화하고 전체 시스템의 연구 개발을 가속화할 수 있습니다. 후자는 일반적으로 임베디드 시뮬레이션을 말합니다. 임베디드 개발을 한 친구들은 개발 과정에서 에뮬레이터를 사용하여 프로그램을 디버깅하는 경우가 많다는 것을 알고 있습니다. PC 에서 임베디드 시스템의 프로그램을 디버깅할 수 있습니다. 에뮬레이터를 통해 임베디드 마이크로컨트롤러에 디버깅 신호 (예: JTAG) 를 전송하여 마이크로컨트롤러가 특정 명령을 실행할 수 있도록 합니다. PC 기계에는 그에 따라 이 명령어 실행 결과가 표시되며 PC 가 "PC" 인 것 같습니다. 그러나 어쨌든 시뮬레이션은 항상 하드웨어와 관련이 있으며 시뮬레이션과는 다릅니다.

이제 "가상 시스템" 이라는 단어도 등장했습니다. 제 생각에는 가상 시스템은 시뮬레이션보다 시뮬레이션 기술을 더 많이 사용하지만, 가상 시스템은 시뮬레이터보다 훨씬 복잡합니다. Bochs 와 같은 가상 시스템은 기본적으로 가상 PC, VMWare, VirtualPC 와 같은 에뮬레이터여야 합니다.

설명 5

Simulation 은 실제 시스템이 해야 할 일을 실제로 할 필요 없이 원래 시스템을 시뮬레이션하는 추상적 모델입니다. 따라서 실제 시스템의 기능은 없습니다. 단, 기능이 실행될 때 일반적으로 기능 실행 결과를 출력할 필요는 없습니다. 단지 simulator 에 상태 변경 사항을 기록하는 것입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성공명언) 따라서 일반적으로 설계 초기 모델 검증에 사용됩니다.

Emulation 은 실제 시스템이 할 수 있는 모든 일을 실제로 하기 위해 한 걸음 더 나아갔습니다. 단지' 프로세스' 와는 달리 일반적으로 호환성 문제를 처리하고 리소스가 제한된 상황에서 시스템 프로토타입을 완성하는 데 사용됩니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언)

실제 시스템을 한 사람에 비유하면, simulator 는 그 사람의 초상화이고, emulator 는 그 사람의 복제인

이다

예를 들어, 우리는 P2P 파일 배포 시스템을 구현해야 한다.

처음에는 simulator 를 구현할 수 있습니다. 노드 간 통신을 시뮬레이션하는 함수를 사용합니다. 이 함수의 입력은 네트워크 성능 (대역폭, 홉 수 ...), 출력은 통신 지연입니다. 실제 데이터는 전송 및 복제, 심지어 실제 노드도 없습니다. 우리는 단지 통신을 시뮬레이션했을 뿐입니다.

다음으로, 이 배포 시스템을 구현하여 exe 파일로 컴파일했지만, 실제 규모의 네트워크 (보통 P2P 네트워크의 노드 수 수백) 를 구성할 수 있는 컴퓨터가 충분하지 않다는 것을 알게 되었습니다. 이 때, 우리는 같은 컴퓨터에서 서로 다른 프로세스를 구분할 수 있는 에뮬레이터를 쓸 수 있습니다. 그래서 우리는 100 대의 컴퓨터로 10,000 대의 컴퓨터 네트워크를 시뮬레이션할 수 있도록 한 대의 컴퓨터에서 100 개의 프로세스를 열 수 있습니다. 이 시점에서 데이터는 실제로 소켓을 통해 전송되고 있지만, 일부 데이터는 loopback 포트를 걷고 있으며 실제로 네트워크 카드에 들어가지 않습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), Northern Exposure (미국 TV 드라마), 컴퓨터명언)

설명 6

Simulation 은 소프트웨어로 구현되며, emulation 은 하드웨어 구현의 일부를 포함합니다. 이 구분은 간단하고 명확하며 많은 경우에도 적용됩니다 (위에서 언급한 P2P 배포 시스템의 예 포함). 그러나 이 주장은 대부분의 상황에 대한 귀납적 설명일 뿐이므로 어떤 경우에는 둘을 구분할 수 없다. 예를 들어, 이 해석은 Operating System Emulator 와 Operating System Simulator 를 구분할 수 없습니다. 이 경우 실제 시스템 (Operating System) 자체는 하드웨어를 포함하지 않기 때문입니다.

"시뮬레이션" 과 "시뮬레이션" 에 대해 말씀드리겠습니다. 첫째, 공식 석상 (예: 논문 제목), {시뮬레이션, 시뮬레이션} 과 {simulation, emulation} 의 두 컬렉션은 일일이 매핑되지 않습니다. "시뮬레이션-시뮬레이션" 의 조합과 "시뮬레이션-시뮬레이션" 의 조합을 볼 수 있습니다. 분명히, 이 불일치는 두 가지 일대일 매핑이 동시에 존재하기 때문이다. 이 문제는 도리로 해결할 수 있는 것이 아니라, 사용 횟수가 늘어남에 따라 대다수 사람들의 습관을 봐야 한다. 개인적으로는 simulation 이' 시뮬레이션' 으로 번역되고, emulation 이' 시뮬레이션' 으로 번역되는 경우가 많다고 생각합니다.

마지막으로 "가상" 이라는 개념을 언급하십시오. 이 개념은 요즘 불이 안 난다. 영어 이름은 virtualization 이다. 처음 두 개념과의 미묘한 차이를 자세히 조사하지는 못했지만, virtualization 과 emulation 이 비슷하다는 것은 확실하다. simulation 과 같은 것은 아니다. 다른 건 나중에 알아보고 보충해 주세요.

설명 7

위키피디아의 에뮬레이터와 에뮬레이터에 대한 설명은 다음과 같습니다.

에뮬레이터 (에뮬레이터) 는 소프트웨어 엔지니어링에서 컴퓨터나 기타 멀티미디어 플랫폼 (핸드헬드, 휴대폰) 이 다른 플랫폼에서 프로그램을 실행할 수 있도록 하는 에뮬레이터 (에뮬레이터) 라고도 하며, 종종 에뮬레이터라고 잘못 불린다. 에뮬레이터는 비디오 게임과 아케이드에 많이 쓰이고, 핸드헬드에도 쓰인다. 시뮬레이터는 일반적으로 ROM 이 필요합니다. ROM 의 초기 소스는 원래 플랫폼의 ROM 칩입니다. 일부 수단을 통해 원본 프로그램을 복사 (이 프로세스를 일반적으로 "dump" 라고 함) 한 다음 시뮬레이터를 사용하여 이러한 ROM 을 로드하여 시뮬레이션 프로세스를 구현합니다. ()

이 둘의 차이점을 시각적으로 설명하면 Palm Os 의 에뮬레이터 (emulator) 와 에뮬레이터 (simulator) 를 비교할 수 있습니다.

Palm Os 용 에뮬레이터

Palm Os 에뮬레이터 (emulator) 는 실제 Palm 의 ROM 파일을 로드해야 하며 모양, 인터페이스, 조작에 이르기까지 실제 Palm 을 사실적으로 재현해야 합니다. 에뮬레이터 (에뮬레이터) 는 소프트웨어를 이용한 팜 PDA.

라고 할 수 있습니다

Palm Os 시뮬레이터 (simulator) 는 비교적 사용하기 쉬우며 Palm 에서 대부분의 기능을 테스트하고 구현할 수 있습니다.

설명 8

Simulator 는 소스 플랫폼의 기능과 운영 결과를 소프트웨어로 시뮬레이션했습니다. 에뮬레이터는 소스 플랫폼의 내부 설계, 동작 및 운영 결과를 소프트웨어와 하드웨어로 시뮬레이션합니다.

예:

하드웨어를 사용하여 시뮬레이션한 것은 모두 에뮬레이터이다. 예를 들어, 마이크로 컨트롤러 기반 시뮬레이션. (하드웨어 에뮬레이션 사용이란 무엇입니까? 예를 들어 소스 플랫폼을 시뮬레이션하는 Timer/PPU/SPU, 타겟 플랫폼의 Timer/PPU/SPU 를 직접 사용하는 경우 하드웨어 에뮬레이션입니다.)

일반적으로 PC 에서 실행되는 시뮬레이터는 Simulator 라고 하며, 일반적으로 아날로그 LCD 디스플레이입니다. 임베디드 플랫폼에서 실행되는 시뮬레이터는 에뮬레이터입니다. 임베디드 플랫폼에서 실행되는 경우 효율성을 높이기 위해 해당 하드웨어 모듈로 소스 플랫폼을 시뮬레이션하기 때문입니다.

PC 의 시뮬레이터는 ROM 파일 읽기, 정확한 인터럽트, 이상, OS 등과 같은 내부 설계, 동작을 시뮬레이션하는 경우 모두 에뮬레이터입니다.

설명 9

Simulator 는 모두 소프트웨어이며, Emulator 는 하드와 소프트 또는 소프트

를 결합할 수 있습니다

예를 들어 PC 에서 흔히 말하는 GBA, PS 게임 시뮬레이터는 엄밀히 말하면 에뮬레이터가 맞을 것이다! 바이너리 rom 파일에서 비디오 게임기 CPU 의 기계 코드 한 줄을 꺼낸 다음 인식한 후 게임기 CPU 의 동작을 시뮬레이션합니다. 즉, PC 에서 다른 CPU 를 시뮬레이션하는 기계 코드를 binary level 시뮬레이션이라고 합니다. 이는 직접 실행 기계 코드이기 때문입니다.

다음에 또 어떤' WM 시뮬레이터',' 아이폰 시뮬레이터' 를 볼 수 있다면, 반드시 그것을 깊이 이해하고, 그것이 실제로 기계코드 수준까지 시뮬레이션되었는지 알아야 진정한 이름을 줄 수 있다. 나는 그들에 대해 잘 모르기 때문에, 나도 감히 함부로 결론을 내리지 못한다.

전반적으로 에뮬레이터 (emulator) 에 접근할 수 있는 기회가 좀 더 많아졌는데, 유명한 개발용 진짜 에뮬레이터 (simulator)

MDK 의 debug 옵션 아래에 두 가지 옵션이 있는 하드웨어 에뮬레이터도 있습니다.

왼쪽 위에 있는 use simulator 는 소프트웨어 시뮬레이션 사용을 의미합니다.

오른쪽 위에 있는 ULINK 는 하드웨어 에뮬레이터인 실시간 에뮬레이터를 사용하는 것을 의미합니다. ADS 는 ICE (ICE) 라는 또 다른 실시간 에뮬레이터를 사용합니다.

이 두 단어를 자주 보면 헷갈리기 쉽다. 내 이해에 따르면 다음과 같다.

Simulator 는 대상 시스템을 시뮬레이션하는 기능 및 동작입니다. Simulator 와 타겟 시스템은 똑같아 보입니다.

에뮬레이터는 타겟 시스템을 시뮬레이션하는 기본 인터페이스입니다. 타겟 시스템은 에뮬레이터 바로 위에서 실행됩니다.