• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Emulator



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    Interpreter – program komputerowy wykonujący inne programy. Jest kluczowym elementem znacznej części implementacji języków skryptowych oraz języków kompilowanych do kodu bajtowego. Nintendo Company, Limited (jap. 任天堂, Nintendō) – firma założona 23 września 1889 przez Fusajirō Yamauchiego, w celu produkowania kart hanafuda do japońskiej gry o tej samej nazwie. W ciągu kilkudziesięciu lat firma zajęła się rynkiem gier konsolowych i stała się jednym z potentatów w tej dziedzinie.

    Emulatorprogram komputerowy (czasem wraz z koniecznym sprzętem), który uruchomiony w danym systemie komputerowym duplikuje funkcje innego systemu komputerowego. Pierwszy system nazywany jest gospodarzem (ang. host), a drugi gościem (ang. guest). Mówimy, że drugi system jest emulowany przez pierwszy.

    Jedną z form emulatorów są programy, które umożliwiają uruchamianie aplikacji na komputerze lub systemie operacyjnym innym niż ten, na który zostały napisane np. uruchomienie emulatora Amigi w systemie operacyjnym Windows, czy emulatora konsoli do gier Nintendo w systemie Linux. Emulatory są tak programowane, aby jak najdokładniej potrafiły ‘udawać’ emulowaną maszynę z lepszym lub gorszym efektem (są np. trudności z poprawnym oddaniem palety barw, czy dźwięków oraz z obsługą urządzeń zewnętrznych takich jak np. pady, jednak wiele emulatorów posiada praktycznie 100% zgodność z oryginalną maszyną).

    Architektura komputera – sposób organizacji elementów tworzących komputer. Pojęcie to używane jest dosyć luźno. Może ono dzielić systemy komputerowe ze względu na wiele czynników, zazwyczaj jednak pod pojęciem architektury komputera rozumie się organizację połączeń pomiędzy pamięcią, procesorem i urządzeniami wejścia-wyjścia.Automat do gry – konstrukcja służąca rozrywce, umieszczana najczęściej w salonach gier bądź też pubach lub klubach. Uruchomienie automatu następuje w momencie wrzucenia monety bądź żetonu w otwór wrzutowy, zabawa ograniczona jest zwykle pewnym wyznacznikiem narzuconym przez producenta lub właściciela automatu (np. liczba prób, przejście na wyższy poziom, zdobycie określonego celu w zadanym czasie, ukończenie gry).

    Programy te mogą też emulować poszczególne funkcje oprogramowania i sprzętu standardowo niedostępne w ramach danego systemu, np. karty dźwiękowe. Tworzone są też emulatory kalkulatorów Texas Instruments, BBS-ów i wielu innych systemów informatycznych.

    Działanie emulatora[ | edytuj kod]

    Zwykle emulator jest podzielony na moduły, które odpowiadają ogólnie podsystemom emulowanego komputera. Najczęściej emulator składa się z następujących modułów:

    Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.Amiga (hiszp. la amiga – przyjaciółka) – popularna marka komputerów produkowanych między innymi przez firmę Commodore. Po bankructwie Commodore marka została przejęta przez firmę Escom, a następnie przez Gateway. W końcu wyłoniła się samodzielna firma Amiga INC, która po bankructwie sprzedała wszelkie prawa firmie KMOS. Z kolei KMOS zmieniło nazwę na Amiga Inc.
  • emulator CPU lub symulator CPU (w tym wypadku zwykle można obu pojęć używać zamiennie)
  • moduł pamięci
  • emulatory urządzeń wejścia-wyjścia
  • W celu osiągnięcia lepszej wydajności i prostoty emulatora szyny nie są zwykle emulowane. Wirtualne urządzenia komunikują się bezpośrednio z procesorem i pamięcią.

    Symulacja CPU[ | edytuj kod]

    Symulator CPU to najbardziej złożona część emulatora. Wiele emulatorów jest pisanych przy użyciu już gotowych symulatorów CPU po to, aby móc skoncentrować się na pełnej emulacji innych części konkretnego komputera.

    Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców.

    W najprostszej formie symulator CPU to interpreter, który wykonuje po jednej instrukcje emulowanego programu.

    Poniższy przykład pokazuje jak można symulować CPU poprzez interpreter. W tym przypadku przerwania są sprawdzane i obsługiwane przed każdą kolejną instrukcją, jednak takie zachowanie jest rzadkie w prawdziwych emulatorach z powodu małej wydajności.

     void Wykonaj(void)
     {
         if(Przerwanie!=PRZERW_BRAK)
         {
             Superużytkownik=TRUE;
             ZapiszPamięć(++WskaźnikStosu, LicznikRozkazów);
             LicznikRozkazów=WskaźnikPrzerwania;
         }
         switch(OdczytajPamięć(LicznikRozkazów++))
         {
             /*
              * Tutaj znajduje się obsługa wszystkich
              * pojedynczych instrukcji procesora.
              */
             default:
             Przerwanie=PRZERW_BŁĄD;
         }
     }
    

    Interpretacja to bardzo popularna metoda symulacji procesora, ponieważ jest o wiele prostsza w implementacji niż szybsze metody, a jej prędkość jest wystarczająca do emulacji komputerów około dziesięcioletnich na komputerach współczesnych.

    System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.MAME (ang. Multiple Arcade Machine Emulator) – emulator automatów arcade. W wersji 0.129, obsługuje 7480 gier automatowych, w tym 973, które nie są jeszcze grywalne.

    Mimo to prędkość interpretacji jest niewystarczająca do emulacji procesorów, których prędkość jest tego samego rzędu wielkości co prędkość głównego komputera. Jeszcze do niedawna emulację w takich przypadkach uznawano za zupełnie niepraktyczną.

    Większa prędkość emulacji jest możliwa dzięki dynamicznej rekompilacji. Proste tłumaczenie a priori kodu emulowanego programu na docelowy komputer jest zwykle niemożliwe z wielu powodów:

  • kod może być samomodyfikujący się, nawet gdyby ta samomodyfikacja była dokonywana jedynie przez emulowany system operacyjny przy odczytywaniu kodu programów użytkownika (np. z dysku).
  • może nie istnieć sposób na odróżnienie danych (które nie powinny być tłumaczone) od kodu wykonywalnego.
  • Różne formy dynamicznej rekompilacji, w tym popularna technika Just In Time próbują obejść te problemy poprzez dokonywanie tłumaczenia bloków kodu na nowy procesor dopiero przy napotkaniu przez wykonywany kod instrukcji skoku na nieprzetłumaczone miejsce i przechowywanie już przetłumaczonych części w cache.

    Rodzina 8-bitowych Atari. W roku 1978, po sukcesie konsoli Atari 2600, firma Atari Inc. postanowiła spróbować swych sił na rodzącym się dopiero rynku komputerów domowych. W lutym 1979 roku wypuszczono dwie wersje – tańszą i droższą – tej samej maszyny, zwane Coleen i Candy, a znane szerzej jako Atari 400 i Atari 800.Biblioteka Narodowa Francji (fr. Bibliothèque nationale de France, BnF) – francuska biblioteka narodowa, znajdująca się w Paryżu. Przewidziana jest jako repozytorium dla wszystkich materiałów bibliotecznych, wydawanych we Francji. Obecnym dyrektorem Biblioteki jest Bruno Racine.

    Z drugiej strony prędkość emulacji może być zbyt duża, np. przy emulacji procesora 1 MHz na procesorze 1 GHz. Część emulowanych programów (zwłaszcza z konsoli do gier) nie jest przystosowanych do działania na różnych prędkościach procesora i emulator musi ograniczać prędkość wykonywania rozkazów do oryginalnej.

    System komputerowy (ang. computer system) – układ współdziałania dwóch składowych: sprzętu komputerowego oraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej. Można mówić o następujących poziomach takiego systemu: sprzęt komputerowy, system operacyjny (oprogramowanie systemowe), oprogramowanie użytkowe (aplikacje). W pełni zautomatyzowany system komputerowy działa bez udziału człowieka.Symulacja komputerowa – symulacja z wykorzystaniem modelu matematycznego, zapisanego w postaci programu komputerowego (patrz również: Metoda numeryczna). Techniki symulacyjne są szczególnie przydatne tam, gdzie analityczne wyznaczenie rozwiązania byłoby zbyt pracochłonne, a niekiedy nawet niemożliwe – co często ma miejsce w systemach złożonych.


    Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Bulletin Board System (w skrócie BBS) to serwis komputerowy, polegający na udostępnianiu na maszynie jego właściciela miejsca, gdzie można umieszczać i czytać ogłoszenia, obsługiwać własną skrzynkę pocztową, dokonywać transferu plików itp.
    Oprogramowanie użytkowe lub oprogramowanie aplikacyjne – oprogramowanie oferujące bezpośredni kontakt z człowiekiem, czyli interakcję z użytkownikiem komputera. Oprogramowanie użytkowe przeznaczone jest do wykonywania czynności poleconych przez użytkownika oraz rozwiązywania problemów zadanych przez użytkownika.
    Hiszpańska Biblioteka Narodowa (Biblioteca Nacional de España) – największa biblioteka w Hiszpanii i jedną z największych na świecie. Znajduje się w Madrycie, a dokładnie przy Paseo de Recoletos.
    Karta dźwiękowa (ang. sound card, audio card) – komputerowa karta rozszerzeń, umożliwiająca rejestrację, przetwarzanie i odtwarzanie dźwięku. Poprawnym jest też równie często stosowany termin karta muzyczna.
    Oprogramowanie (ang. software) – całość informacji w postaci zestawu instrukcji, zaimplementowanych interfejsów i zintegrowanych danych przeznaczonych dla komputera do realizacji wyznaczonych celów. Celem oprogramowania jest przetwarzanie danych w określonym przez twórcę zakresie. Oprogramowanie to dział informatyki. Oprogramowanie jest synonimem terminów program komputerowy oraz aplikacja, przy czym stosuje się go zazwyczaj do określania większych programów oraz ich zbiorów.
    Gemeinsame Normdatei (GND) – kartoteka wzorcowa, stanowiąca element centralnego katalogu Niemieckiej Biblioteki Narodowej (DNB), utrzymywanego wspólnie przez niemieckie i austriackie sieci biblioteczne.
    JIT (ang. just-in-time compilation) to metoda wykonywania programów polegająca na kompilacji do kodu maszynowego przed wykonaniem danego fragmentu kodu.

    Reklama

    Czas generowania strony: 0.025 sek.