EM400

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
EM400

EM400 jest powstającym emulatorem systemu MERA-400. W założeniu ma emulować kompletny system, wraz z zegarem czasu rzeczywistego, kanałami (znakowym i pamięciowym), oraz urządzeniami podłączonymi do kanałów (terminalami i pamięciami masowymi). W dziale Pytania spisane są aktualnie wymagające wyjaśnienia kwestie.

Repozytorium GIT ze źródłami emulatora i podręcznych narzędzi: https://github.com/jakubfi/mera400

Aktualny stan prac nad emulatorem

Kolor zielony w stanie implementacji oznacza, że element jest już funkcjonalny

Emulator

Obszar/Funkcjonalność Stan implementacji Uwagi
Konfiguracja emulatora 5% Plik konfiguracyjny EM400 i jego obsługa
Linia poleceń emulatora 0% Opcje wywołania emulatora
Tablica skoków dla rozkazów 100% 1 lub 2 poziomy wywołań do osiągnięcia rozkazu
Dekoder rozkazów i argumentów 100%
Szkielet, pamięć, rejestry + makra 100%
Rozkazy procesora 96%
Konfiguracja programowa pamięci 100%
Rozkazy IN/OU (dekodowanie argumentów -> kanały) 100%
Szkielet kanałów i urządzeń 80% warstwa abstrakcji dla sterowników kanałów i urządzeń
System przerwań 100%
Kanał znakowy 0%
Terminal znakowy 0%
Kanał pamięciowy 0%
Mera 9425 0%
Bootstrap 0% Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora

Debugger

Obszar/Funkcjonalność Stan implementacji Uwagi
Szkielet 100%
Podgląd pamięci i rejestrów 100%
Disassembler 100%
Translator 100% nie-assemblerowy pseudokod
Load/save 50%
Breakpointy 100%
Ncurses 100% ergonomiczny interfejs użytkownika
Interpreter poleceń 100% nowa, bogatsza linia poleceń
Śledzenie zmian w pamięci i rejestrach 80%
Podgląd stosu 100%

Narzędzia

Obszar/Funkcjonalność Stan implementacji Uwagi
Roboczy disassembler 100% Python
Roboczy Assembler 25% porzucony na rzecz pełnoprawnego ASSEM
ASSEM 10%
Testy automatyczne CPU 5%
Narzędzia do odczytu systemu plików CROOK-5 100%
sterownik FUSE dla systemu plików CROOK-5 0%