EM400

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

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.

Debugger EM400

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ń 100% warstwa abstrakcji dla sterowników kanałów i urządzeń
System przerwań 100%
Bootstrap 0% Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora

Emulator - urządzenia

Obszar/Funkcjonalność Stan implementacji Uwagi
Kanał znakowy 80%
Kanał pamięciowy 80%
Terminal znakowy 0%
Mera 9425 0%
Winchester w kanale pamięciowym (translacja adresów?) 0%
PLIX? 0%
MULTIX? 0%
Winchester w PLIX-ie? 0%
Floppy 5.25"? 0%

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%
Logowanie 100%

Narzędzia

Obszar/Funkcjonalność Stan implementacji Uwagi
Roboczy disassembler 100% Python
Roboczy Assembler 25% porzucony na rzecz pełnoprawnego ASSEM
ASSEM 70%
ASSEM - wsparcie dla składni ASSK i ASSM 0%
Testy automatyczne CPU 10%
Narzędzia do odczytu systemu plików CROOK-5 100% porzucone na rzecz C5FS Explorera
C5FS Explorer 100% Eksplorator systemu plików CROOK-5
Sterownik FUSE dla systemu plików CROOK-5 100%