컴퓨터 지식 네트워크 - 컴퓨터 구성 - 시뮬레이션과 에뮬레이션의 차이점(번역됨)

시뮬레이션과 에뮬레이션의 차이점(번역됨)

시뮬레이션과 에뮬레이션의 차이점

설명 1:

시뮬레이션은 물리적 또는 추상 시스템의 특정 동작 특성을 선택하고 다른 A 시스템을 사용하여 이를 표현하는 것을 의미합니다. 프로세스. 시뮬레이션 기술의 고급 단계를 에뮬레이션 및 시스템 시뮬레이션이라고 하며, 이는 데이터 처리 시스템을 사용하여 특정 데이터 처리 시스템을 완전히 또는 부분적으로 시뮬레이션하여 시뮬레이션된 시스템이 시뮬레이션된 시스템과 동일한 데이터를 수용하고 수행할 수 있도록 하는 것입니다. 동일한 절차를 수행하고 동일한 결과를 얻습니다.

설명 2:

에뮬레이션은 장치의 내부 디자인을 모방하려는 시도이고, 시뮬레이션은 장치의 기능을 모방하려는 시도입니다.

설명 3:

에뮬레이션: 한 시스템이 다른 시스템과 정확히 동일한 방식으로 작동하는 경우(비록 같은 속도는 아닐 수도 있음). 다른 프로그램에서 실행되는 프로그램) 에뮬레이션을 시스템 대신 사용할 수 있지만 단지 시스템을 분석하고 예측하려는 경우에는 시뮬레이션을 사용할 수 있습니다.

시뮬레이션: 시스템의 측면을 예측하려고 시도합니다. 대략적인(수학적) 모델을 생성하여 일부 시스템의 동작을 파악합니다. 이는 물리적 모델링, 특수 목적의 컴퓨터 프로그램 작성 또는 특정 종류의 시뮬레이션을 목표로 하는 보다 일반적인 시뮬레이션 패키지를 사용하여 수행할 수 있습니다. 예: 구조 공학, 유체 흐름) 일반적인 예로는 항공기 비행 시뮬레이터 또는 전자 회로 시뮬레이터가 있습니다. 예: {Simula}

시뮬레이션 , 이는 특정 시스템의 기능을 시뮬레이션하기 위해 소프트웨어를 사용하는 것을 의미합니다. 소프트웨어의 출력이 동일한 시스템에서 시뮬레이션된 시스템의 출력과 일치하는 한 시스템의 내부 세부 사항을 구현할 필요가 없습니다. 입력. 예를 들어, NES의 "슈퍼 마리오" 게임을 시뮬레이션하기 위해 PC에서 소프트웨어를 사용하는 경우, NES의 "슈퍼 마리오" 게임과 동일하게 소프트웨어의 효과를 실행하기만 하면 됩니다. 소프트웨어, 당신이 그것을 달성하는 방법은 중요하지 않습니다.

에뮬레이션은 소프트웨어를 사용하여 시스템의 각 구성 요소 구성을 시뮬레이션하고 시스템의 작동 메커니즘을 실제로 시뮬레이션하는 것을 의미합니다. 이를 위해서는 소프트웨어 작성자가 시뮬레이션된 시스템의 내부 구조를 잘 이해하고 다양한 데이터 구조를 사용하여 각 구성 요소의 모델을 구현할 수 있어야 합니다.

마찬가지로 패미콤용 게임 '슈퍼마리오'를 에뮬레이션하려면 먼저 CPU, 메모리, 그래픽 처리 칩, 사운드 처리 칩, 게임 컨트롤러 등 패미컴의 다양한 하드웨어를 시뮬레이션하는 소프트웨어를 사용한 후 사용해야 합니다. 게임을 실행하려면 게임의 ROM을 로드하세요. 요즘에는 MAME, VirtualNes 등 다양한 게임 에뮬레이터가 에뮬레이션을 사용하여 게임 시뮬레이션을 구현하므로 에뮬레이터라고도 합니다.

시뮬레이션은 특정 플랫폼에서 순수한 소프트웨어를 사용하여 다른 플랫폼에서 프로그램의 실행을 시뮬레이션하는 것을 의미합니다. 이 두 가지에 대한 위의 분석을 통해 알 수 있듯이, "시뮬레이션"은 "블랙 박스"와 유사한 고급 시뮬레이션인 반면, "에뮬레이션"은 "화이트 박스"와 유사하게 하단 레이어의 시뮬레이션에 더 중점을 둡니다.

시뮬레이션에 대해서는 여러 가지 설명이 있는데, 시뮬레이션이란 기계 하단의 마이크로 명령어를 이용해 다른 플랫폼의 명령어를 해석하고 실행하는 것이라고 말하는 사람도 있다. 다른 플랫폼을 시뮬레이션하기 위해 프로그램 실행은 "하드웨어 시뮬레이션 + 소프트웨어 시뮬레이션"입니다. 실제로 두 가지 모두 서로 다른 시뮬레이션 개체와 호스트 플랫폼을 목표로 합니다. 전자는 특히 메인프레임 CPU(현재 PC라고도 함)를 시뮬레이션 개체로 사용하는 시스템 시뮬레이션에 대해 이야기합니다. 일반적으로 CPU를 개발하는 과정에서 이를 사용합니다. 소프트웨어의 작동을 시뮬레이션하는 호스트 CPU는 하드웨어와 소프트웨어의 개발 프로세스를 동기화하고 전체 시스템의 개발 진행 속도를 높일 수 있습니다. 후자는 일반적으로 임베디드 개발을 수행한 친구가 개발 프로세스를 알고 있습니다. 에뮬레이터를 사용하여 프로그램을 디버그할 수 있습니다. PC의 임베디드 시스템에서 프로그램을 디버깅하고 에뮬레이터를 통해 임베디드 마이크로컨트롤러에 디버깅 신호(예: JTAG)를 보내 마이크로컨트롤러가 특정 명령을 실행하도록 할 수 있습니다. 그에 따라 PC에 표시되어 마치 PC가 명령을 "실행"하는 것처럼 보이게 하여 시뮬레이션 목적을 달성합니다. 그러나 무슨 일이 있어도 시뮬레이션은 항상 하드웨어와 관련되어 있으며 이는 시뮬레이션과 다릅니다.

이제 "가상 머신"이라는 용어도 등장합니다. 제 생각에는 가상 머신은 에뮬레이션보다 시뮬레이션 기술을 더 많이 사용하지만 Bochs와 같은 가상 머신은 에뮬레이터보다 훨씬 더 복잡합니다. VirtualPC, VMWare 및 VirtualBox와 같은 가상 머신은 시뮬레이션, 에뮬레이션, 심지어 시스템 에뮬레이션을 포함하여 더 복잡한 기술을 사용하는 반면 본질적으로 에뮬레이터입니다. 따라서 순전히 에뮬레이터라고 생각할 수 없습니다.

설명 5

시뮬레이션은 실제 시스템이 수행하는 작업을 실제로 수행하지 않고 원래 시스템을 시뮬레이션하는 추상 모델입니다. 따라서 실제로는 실제 시스템의 기능을 갖고 있지 않으며, 단지 특정 기능이 실행될 때, 그 결과로 발생하는 상태 변화를 시뮬레이터에 출력할 필요가 없는 경우가 대부분이다. 따라서 설계 초기 단계의 모델 검증에 자주 사용됩니다.

에뮬레이션은 한 단계 더 나아가 실제 시스템이 할 수 있는 모든 작업을 실제로 수행하지만 "프로세스"는 일반적으로 호환성 문제를 처리하고 제한된 리소스 조건에서 완료하는 데 사용됩니다. 원기.

실제 시스템을 사람과 비교하면 시뮬레이터는 이 사람의 초상화이고 에뮬레이터는 이 사람의 복제품입니다

예를 들어 A를 구현하려고 합니다. P2P 파일 배포 시스템.

처음에는 시뮬레이터를 구현할 수 있습니다. 이는 노드 간 통신을 시뮬레이션하는 함수를 사용합니다. 이 함수의 입력은 네트워크 성능(대역폭, 홉 수...)이고 출력은 통신입니다. 지연—— ——실제 데이터가 전송되고 복사되지 않으며 심지어 실제 노드도 없다는 점에 유의하십시오. 우리는 통신 지연의 "기능"을 시뮬레이션했습니다.

다음으로 배포 시스템을 구현하고 exe 파일로 컴파일했지만, 이때 추가 테스트를 위한 충분한 규모의 실제 네트워크를 구성하기에는 컴퓨터가 충분하지 않다는 사실을 발견했습니다(일반적으로 수는 p2p 네트워크의 노드 수는 수백 또는 수천 개입니다.) 이때 에뮬레이터를 작성할 수 있습니다. 동일한 컴퓨터에서 서로 다른 프로세스를 구별할 수 있으므로 한 컴퓨터에서 100개의 프로세스를 열 수 있으므로 100개의 에뮬레이터를 사용할 수 있습니다. 컴퓨터는 10,000대의 컴퓨터로 구성된 네트워크를 시뮬레이션합니다. - 이때 데이터는 실제로 소켓을 통해 전송되지만 일부 데이터는 루프백 포트를 통과하여 실제로 네트워크 카드에 들어가지 않습니다.

설명 6

시뮬레이션은 소프트웨어로 구현되는 반면, 에뮬레이션은 하드웨어 구현을 포함합니다. 이러한 구별은 간단하고 명확하며 많은 상황(위에 제공된 p2p 배포 시스템의 예 포함)에 적용됩니다. 그러나 이 진술은 대부분의 경우 귀납적 설명일 뿐이므로 어떤 경우에는 둘을 구별하는 것이 불가능합니다. 예를 들어, 이 설명에서는 운영 체제 에뮬레이터와 운영 체제 시뮬레이터를 구분할 수 없습니다. 현재 둘 다 하드웨어와 관련이 없습니다. 이는 실제 시스템(운영 체제) 자체에는 하드웨어가 관련되어 있지 않기 때문입니다.

'시뮬레이션'과 '시뮬레이션'에 대해 이야기해보겠습니다. 첫째, 공식적인 설정(논문 제목 등)에서도 {시뮬레이션, 에뮬레이션}과 {시뮬레이션, 에뮬레이션} 두 세트는 일대일로 매핑되지 않습니다. '시뮬레이션'이라는 조합도 볼 수 있고, '시뮬레이션'이라는 조합도 볼 수 있습니다. 분명히 이러한 불일치는 동시에 두 개의 일대일 매핑이 존재하기 때문에 발생합니다. 이 문제는 추론으로 해결될 수 없습니다. 사용 빈도가 증가함에 따라 대부분의 사람들의 습관에 따라 달라집니다. 개인적으로 시뮬레이션은 "시뮬레이션"으로 번역되는 반면 에뮬레이션은 "시뮬레이션"으로 더 자주 번역됩니다.

마지막으로 '가상'이라는 개념을 언급해보자. 이 개념은 최근 매우 인기가 높으며 영어 이름은 virtualization입니다. 나는 그것과 처음 두 개념 사이의 미묘한 차이점을 주의 깊게 조사하지는 않았지만 가상화와 에뮬레이션이 유사하고 시뮬레이션과 동일한 것이 아니라는 것은 확실합니다. 나머지 부분은 나중에 확인해서 추가하겠습니다.

설명 7

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

소프트웨어 공학에서 시뮬레이션 프로그램이라고도 알려진 에뮬레이터(Emulator)는 다른 플랫폼에서 프로그램을 실행할 수 있는 컴퓨터 또는 기타 멀티미디어 플랫폼(PDA, 휴대폰)을 에뮬레이터라고 잘못 부르는 경우가 많습니다. 에뮬레이터는 주로 비디오 게임과 아케이드에 사용되며 일부는 휴대용 컴퓨터에도 사용됩니다. 일반적으로 에뮬레이터를 실행하려면 ROM이 필요합니다. ROM의 원래 소스는 원래 플랫폼의 일부 ROM 칩입니다. 원래 프로그램은 어떤 방법으로 복사된 다음(이 프로세스를 일반적으로 "덤프"라고 함) 에뮬레이터를 사용하여 이러한 ROM을 로드합니다. 에뮬레이션 프로세스를 구현합니다. ()

둘의 차이점을 직관적으로 설명하기 위해 Palm Os 에뮬레이터(에뮬레이터)와 시뮬레이터(시뮬레이터)를 비교해 보면 됩니다.

Palm Os 에뮬레이터(에뮬레이터)

Palm Os 에뮬레이터(에뮬레이터)가 더 현실적으로 보입니다. 실제 Palm에 ROM 파일을 로드해야 하는데, 외관상으로는, 작동 인터페이스도 실제 Palm을 충실하게 재현합니다. 에뮬레이터(에뮬레이터)는 소프트웨어로 구현된 Palm PDA라고 할 수 있다.

Palm Os의 에뮬레이터(시뮬레이터) 사용은 비교적 간단하며, 대부분의 Palm PDA를 테스트하고 구현할 수도 있다. 기능.

설명 8

시뮬레이터는 순수하게 소프트웨어를 사용하여 소스 플랫폼의 기능과 작동 결과를 시뮬레이션합니다. 에뮬레이터는 소프트웨어와 하드웨어를 사용하여 소스의 내부 설계, 동작 및 작동 결과를 시뮬레이션합니다. 플랫폼.

예:

시뮬레이션을 위해 하드웨어를 사용하는 사람들은 모두 에뮬레이터입니다. 예를 들어 마이크로컨트롤러 기반 시뮬레이션이 있습니다. (하드웨어 시뮬레이션의 용도는 무엇입니까? 예를 들어 소스 플랫폼의 Timer/PPU/SPU를 시뮬레이션하고 타겟 플랫폼의 Timer/PPU/SPU를 직접 사용한다면 하드웨어 시뮬레이션입니다.)

일반적으로 PC에서 실행되는 시뮬레이터를 시뮬레이터라고 하며, 가장 일반적인 것은 임베디드 플랫폼에서 실행되는 시뮬레이터를 LCD 디스플레이를 시뮬레이션하는 것입니다. 플랫폼, 효율성을 향상시키기 위해 해당 하드웨어 모듈을 사용하여 소스 플랫폼을 시뮬레이션합니다.

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

설명 9

시뮬레이터는 모두 소프트웨어입니다. 에뮬레이터는 하드이거나 소프트이거나 소프트와 하드의 조합일 수 있습니다.

예를 들어 GBA와 PC에서 자주 언급되는 PS 게임 에뮬레이터는 엄밀히 말하면 에뮬레이터여야 합니다! 바이너리 ROM 파일에서 비디오 게임 콘솔 CPU의 기계어 코드를 한 줄씩 추출하고 이를 인식한 후 게임 콘솔 CPU의 동작을 시뮬레이션합니다. 즉, PC에서 다른 CPU의 기계어를 시뮬레이션하고 실행하는 것을 직접 기계어를 실행하기 때문에 바이너리 레벨 시뮬레이션이라고 한다.

다음번에 "wm 시뮬레이터"나 "iphone 시뮬레이터"를 보게 된다면 그것에 대한 깊은 이해가 있어야 하고, 진짜 기계어 수준으로 시뮬레이션 되었는지를 알아야 진정한 가치를 부여받을 수 있을 것입니다. 나는 그들을 잘 모르기 때문에 감히 성급하게 결론을 내릴 수는 없습니다.

일반적으로 개발을 위해 유명한 실제 에뮬레이터(시뮬레이터)를 접할 기회가 더 많습니다.

게다가 MDK의 디버그 옵션에는 두 가지 옵션이 있습니다.

왼쪽 상단의 시뮬레이터 사용은 소프트웨어 시뮬레이션을 사용하는 것을 나타냅니다.

오른쪽 상단의 ULINK는 실시간 에뮬레이터, 즉 하드웨어 에뮬레이터를 사용한다는 의미입니다. ICE(In Circuit Emulator, ICE)라는 또 다른 실시간 에뮬레이터가 ADS에서 사용됩니다.

이 두 단어는 자주 보이는데 혼동하기 쉽습니다. 제가 이해한 바에 따르면 다음과 같습니다.

시뮬레이터는 대상 시스템의 기능과 동작을 시뮬레이션합니다. 시뮬레이터와 대상 시스템은 동일하게 보입니다.

에뮬레이터는 대상 시스템을 시뮬레이션하기 위한 기본 인터페이스입니다. 대상 시스템은 에뮬레이터에서 직접 실행됩니다.

上篇: 마나 통화는 얼마나 높아질 수 있나요? 下篇: Vivo 휴대폰 입력기 설정 방법
관련 내용