Sw3.6-m9-1.2-Slajd4

Z Studia Informatyczne
Wersja z dnia 10:37, 4 wrz 2006 autorstwa PZakrzewski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Systemy uruchomieniowe wykorzystujące emulację układową

Systemy uruchomieniowe wykorzystujące emulację układową


Schemat blokowy przykładowego systemu uruchomieniowego wykorzystującego emulację układową został przedstawiony na rysunku. Emulacja układowa polega na włączeniu systemu uruchomieniowego w miejsce mikroprocesora uruchamianego systemu, za pomocą specjalnego układu sprzęgającego (tzw. sondy emulującej), zawierającego analogiczny mikroprocesor. Wówczas sterowanie przejmuje system uruchomieniowy umożliwiając jednoczesne wykonywanie programu i kontrolowanie aktualnego stanu mikroprocesora. System uruchomieniowy wykorzystujący emulacją układową ma stałą strukturę sprzętową, a emulacja żądanego mikroprocesora wymaga jedynie użycia właściwej sondy emulującej oraz zainicjowania w systemie odpowiedniego programu sterującego.

Sonda emulująca stanowi układ o konstrukcji zależnej od typu emulowanego mikroprocesora. Z jednej strony emuluje ona wszystkie sygnały mikroprocesora, wyprowadzając je bezpośrednio do podstawki mikroprocesora w uruchamianym systemie, z drugiej zaś wypracowuje sygnały magistrali II. Magistrala II jest odpowiednikiem magistrali I, z pominięciem sygnałów wzajemnej współpracy modułów: adaptera, komparatora stanów i śladowania.

Moduł adaptera realizuje przejście z magistrali II na buforowaną magistralę I, o organizacji umożliwiającej współpracę z pozostałymi modułami emulatora.

Moduł komparatora stanów zawiera dwa analogiczne układy rozpoznające stan magistrali adresowej, w określonym cyklu maszynowym. Moduł ten umożliwia wstawianie pułapek oraz warunkowe określenie trybu śladowania przebiegu programu.

Moduł śladowania przebiegu programu w czasie rzeczywistym pozwala na warunkowe zapamiętanie stanu określonej liczby cykli maszynowych. Zapamiętana informacja o jednym cyklu maszynowym obejmuje: adres, dane, rodzaj cyklu oraz stan linii wcześniej wybranych przez użytkownika. Możliwość deklaracji warunków i startu śladowania pozwala na efektywne śladowanie poszczególnych cykli maszynowych.

Moduł pamięci emulowanej stanowią bloki pamięci RAM, które mogą być dołączone do uruchamianego systemu mikroprocesorowego po zadeklarowaniu adresu początkowego i typu dostępu do bloku. Pamięć emulowana może być umieszczona w obszarze adresowym, w którym została już umieszczona pamięć uruchamianego systemu mikroprocesorowego. Wszelkie operacje w takim obszarze adresowym będą wykonywane tylko na pamięci emulowanej, co pozwala na szybkie testowanie poprawek programu użytkownika umieszczonego już w pamięci ROM. Można także przepisać program użytkownika z pamięci ROM do pamięci emulowanej, dokonać poprawek i przeprowadzić jego testowanie.

Oprogramowanie podstawowe systemu uruchomieniowego, w które wyposażony jest komputer nadrzędny, stanowi monitor systemowy oraz system operacyjny z biblioteką programów sterujących. Zestaw funkcji realizowanych przez program sterujący może obejmować: konfigurowanie pamięci, ładowanie, wyprowadzanie i modyfikację zawartości pamięci, ustalanie stanu początkowego mikroprocesora, wykonywanie programu w trybie pracy krokowej, wykonywanie programu w czasie rzeczywistym z zadeklarowanymi pułapkami, wyprowadzanie pełnej informacji o stanie systemu oraz śladowanie przebiegu programu w czasie rzeczywistym.

Jedyną wadą systemu uruchomieniowego wykorzystującego emulację układową jest stosunkowo duży koszt.


<< Poprzedni slajd | Spis treści | Następny slajd >>