Tworzenie emulatora komputera ośmiobitowego
Tworzenie emulatora komputera ośmiobitowego jest złożonym zagadnieniem wymagającym napisania: emulatora procesora głównego (CPU), emulatora układów wizji, emulatora układów zarządzania pamięcią, emulatora układów syntezy dźwięku, emulatora układów I/O oraz emulatorów urządzeń zewnętrznych np. magnetofonu, stacji dysków itd. Tworząc emulator określamy typ synchronizacji pomiędzy emulatorem procesora głównego (CPU), a emulatorem układów wizji.
Możemy wyróżnić trzy podstawowe rodzaje emulatorów:
1. Emulatory synchronizowane do wygaszenia pionowego
Zasada synchronizacji polega na wywołaniu emulatora procesora głównego, który emuluje wykonanie kodu maszynowego odpowiadającego czasowi rysowania jednego pełnego ekranu oraz wywołaniu emulatora układów wizji, który tworzy kompletną informację o jednym pełnym ekranie na podstawie danych z pamięci obrazu.
2. Emulatory synchronizowane do wygaszenia poziomego (skaningowe)
Zasada synchronizacji polega na wywołaniu emulatora procesora głównego, który emuluje wykonanie kodu maszynowego odpowiadającego czasowi rysowania jednej pełnej linii ekranu oraz wywołaniu emulatora układów wizji, który tworzy kompletną informację o jednej pełnej linii ekranowej na podstawie danych z pamięci obrazu. W rzeczywistej implementacji jedna pełna linia ekranu jest dzielona na fragmenty.
3. Emulatory synchronizowane do grup punktów ekranowych (rastrowe)
Zasada działania polega na wywołaniu emulatora procesora głównego, który emuluje wykonanie kodu maszynowego odpowiadającego czasowi rysowania grupy punktów ekranowych (koniec grupy punktów wyznacza instrukcja kodu maszynowego wpływająca na rysowane punkty). W przypadku braku takiej instrukcji synchronizacja przebiega tak jak dla emulatorów opisanych w punkcie drugim.
Numer artykułu: 23
Wysłany: Sun, Feb 14, 2010 2:26 PM
Ostatnio zmieniony: Sun, Feb 14, 2010 2:44 PM
Adres URL: https://www.komires.net/article.php?id=23