차례:
정의-프로세서 에뮬레이션이란 무엇입니까?
프로세서 에뮬레이션은 특정 프로세서 또는 운영 체제 (OS) 용으로 컴파일 된 소프트웨어가 다른 프로세서 및 OS가있는 다른 시스템에서 실행될 수 있도록하는 가상화 프로세스 및 기술입니다. 이는 프로세서 명령 및 프로그램의 모든 관련 운영 체제 호출을 실행중인 프로세서 및 OS의 명령으로 동적으로 변환하여 수행됩니다.
Techopedia는 프로세서 에뮬레이션을 설명합니다
프로세서 에뮬레이션을 사용하면 한 프로세서 용으로 작성된 프로그램을 다른 아키텍처 및 명령어 세트로 다른 프로세서에서 실행할 수 있습니다. 좋은 기본 예는 사용자가 PC에서 Nintendo Entertainment System 및 PlayStation 게임과 같은 콘솔 게임을 할 수있는 게임 콘솔 에뮬레이터입니다. 게임 콘솔에서 사용하는 프로세서는 PC의 프로세서와 매우 다르므로 PC에서 콘솔 게임을하려면 게임 콘솔의 프로세서를 에뮬레이트해야합니다.
기본 아이디어는 실행해야하는 프로그램의 모든 개별 동작 및 동작이 호스트 시스템의 해당 명령 세트 및 / 또는 운영 체제 호출로 변환되어야한다는 것입니다. 주요 목표는 프로세서 상태를 수정하고 하드웨어와 상호 작용하는 코드를 실행하는 것이며 실행중인 프로그램의 각 명령에 대해 수행해야합니다.
프로세서 에뮬레이션 처리 방법 :
- 동적 재 컴파일-코드를 실행하여 작업 목록을 작성하고 분기 명령에 도달하면 목록이 호스트 플랫폼의 명령 코드로 컴파일됩니다. 그런 다음 나중에 사용하기 위해 캐시됩니다. 또는 각 코드를 즉시 컴파일 할 수 있지만이 방법은 최적화하기가 어렵습니다.
- 정적 재 컴파일-동적 재 컴파일에서와 같이 코드를 실행하지 않고 코드를 대상 컴퓨터 또는 아키텍처의 코드로 먼저 변환하는 정적 이진 변환이라고도합니다. 그러나 일부 대상 코드는 간접 분기에서만 발견 될 수 있고, 결국 런타임에서만 판별 될 수 있으므로 컴파일 시간 동안 변환기가 모든 대상 코드를 판별 할 수는 없으므로 문제점이 발생할 수 있습니다.
- 해석-각 코드는 명령 포인터를 사용하여 메모리에서 읽은 다음 호스트 컴퓨터의 CPU 명령 세트에 따라 실행됩니다. 즉, 명령어는 일대일로 번역 된 다음 기본적으로 실행됩니다. 여기서 가장 큰 단점은 성능입니다.
