EM400 - konfiguracja: Różnice pomiędzy wersjami
(→Pamięć) |
|||
Linia 34: | Linia 34: | ||
== Pamięć == | == Pamięć == | ||
Każdy z szesnastu fizycznych modułów [[Pamięć operacyjna|pamięci operacyjnej]] może zostać skonfigurowany niezależnie. Dołączone zostaną tylko | Każdy z szesnastu fizycznych modułów [[Pamięć operacyjna|pamięci operacyjnej]] może zostać skonfigurowany niezależnie. Dołączone zostaną tylko moduły o numerach podanych w konfiguracji, pozostałe będą z punktu widzenia systemu nieobecne. Konfiguracja pojedynczego modułu pamięci opisana jest w następujący sposób: | ||
module <nr_modułu> = <typ>:<il_segmentów> | module <nr_modułu> = <typ>:<il_segmentów> |
Wersja z 20:31, 10 mar 2013
Plik konfiguracyjny EM400 pozwala skonfigurować parametry sprzętowe emulowanej maszyny i jest wymagany do uruchomienia emulatora. Domyślne EM400 próbuje załadować następuące pliki konfiguracyjne:
- em400.cfg (w katalogu bieżącym)
- ~/.em400/em400.cfg (konfiguracja użytkownika)
- /etc/em400.cfg (konfiguracja systemowa)
Jeśli jeden z plików uda się poprawnie załadować, dalesze nie są sprawdzane. Powyższa lista plików jest ignorowana, jeśli użytkownik użyje przełącznika -c w linii poleceń
Składnia pliku konfiguracyjnego
Konfiguracja składa się z bloków opisujących poszczególne elementy systemu. Definicja bloku rozpoczyna się jego nazwą, po czym w nawiasach wąsowych występuje zero lub więcej dostępnych opcji konfiguracyjnych dla elementu. Elementy objęte konfiguracją to:
- cpu - procesor
- memory - pamięć
Procesor
Dostępne sa następujące opcje konfigurujące działanie procesora:
- speed - prędkość emulacji procesora. Dostępne warianty:
- max - emulacja z maksymalną możliwą prędkością
- real - emulator stara się zachować oryginalne czasy wykonania instrukcji, czasy dostępu do pamięci i urządzeń zewnętrznych
- timer_step - okres zegara systemowego (w milisekundach)
- mod_17bit - włącz/wyłącz modyfikację sprzętową CPU pozwalającą na 17-bitowe adresowanie bajtów (domyślnie włączone)
- mod_sint - włącz/wyłącz modyfikację sprzętową dodającą przerwanie programowe o wysokim priorytecie (domyślnie włączone)
Przykładowy blok konfiguracji CPU:
cpu { speed = max timer_step = 10 mod_17bit = true mod_sint = false }
Pamięć
Każdy z szesnastu fizycznych modułów pamięci operacyjnej może zostać skonfigurowany niezależnie. Dołączone zostaną tylko moduły o numerach podanych w konfiguracji, pozostałe będą z punktu widzenia systemu nieobecne. Konfiguracja pojedynczego modułu pamięci opisana jest w następujący sposób:
module <nr_modułu> = <typ>:<il_segmentów>
Gdzie:
- nr_modułu - kolejny numer modułu pamięci z zakresu 0-15 (moduł 0 to moduł pamięci systemu operacyjnego, musi mieć rozmiar przynajmniej 2 segmentów)
- typ - typ modułu pamięci. Dostępne typy to:
- elwro - pamięć ferrytowa
- mega - pamięć półprzewodnikowa
- il_segmentów - ilość 4k-słowowych segmentów w module (liczba z zakresu 1-16)
Przykładowy blok konfiguracji pamięci:
memory { module 0 = elwro:8 module 1 = mega:16 module 2 = mega:5 }