Dom Oprogramowanie Co to jest emulacja procesora? - definicja z techopedia

Co to jest emulacja procesora? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza emulacja procesora?

Emulacja procesora jest procesem wirtualizacji i technologią, która pozwala oprogramowaniu skompilowanemu dla określonego procesora lub systemu operacyjnego (OS) działać na innym systemie, który ma inny procesor i system operacyjny. Odbywa się to poprzez dynamiczne tłumaczenie instrukcji procesora i wszystkich powiązanych wywołań systemu operacyjnego programu na instrukcje procesora i systemu operacyjnego, w którym jest uruchomiony.

Techopedia wyjaśnia emulację procesora

Emulacja procesora pozwala na wykonywanie programów napisanych dla jednego procesora na innym procesorze o innej architekturze i zestawie instrukcji. Dobrym podstawowym przykładem jest emulator konsoli do gier, który pozwala użytkownikom grać w gry konsolowe, takie jak Nintendo Entertainment System i PlayStation na komputerze. Procesor używany przez konsolę do gier bardzo różni się od procesora na PC, więc aby móc grać w gry na komputerze, procesor konsoli do gier musi być emulowany.

Podstawową ideą jest to, że każde indywidualne działanie i zachowanie programu, który musi zostać uruchomiony, musi zostać przekonwertowane na równoważny zestaw instrukcji i / lub wywołania systemu operacyjnego systemu hosta. Głównym celem jest wykonanie kodu, który modyfikuje stany procesora i współdziała ze sprzętem, i należy to zrobić dla każdej instrukcji uruchomionego programu.

Sposoby obsługi emulacji procesora:

  • Rekompilacja dynamiczna - lista operacji jest tworzona przez uruchomienie kodu, a po osiągnięciu instrukcji rozgałęzienia lista jest kompilowana do kodu instrukcji platformy hosta. To jest następnie buforowane do wykorzystania w przyszłości. Alternatywnie, każdy kod można po prostu skompilować w locie, ale takie podejście jest trudne do optymalizacji.
  • Rekompilacja statyczna - jest to również znane jako statyczne tłumaczenie binarne, w którym kod jest najpierw konwertowany na kod maszyny docelowej lub architektury bez uruchamiania kodu, jak ma to miejsce w przypadku rekompilacji dynamicznej. Mogą jednak pojawić się problemy, ponieważ nie wszystkie kody docelowe mogą zostać określone przez tłumacza w czasie kompilacji, ponieważ niektóre z nich można znaleźć tylko w gałęziach pośrednich, które z kolei mogą być określone tylko w czasie wykonywania.
  • Interpretacja - każdy kod jest odczytywany z pamięci za pomocą wskaźnika instrukcji, a następnie wykonywany zgodnie z zestawem instrukcji CPU komputera hosta. Innymi słowy, instrukcje są tłumaczone jeden na jeden, a następnie wykonywane natywnie. Największą wadą jest tutaj wydajność.
Co to jest emulacja procesora? - definicja z techopedia