EM400: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 31: Linia 31:
| Rozkazy IN/OU (dekodowanie argumentów -> kanały) || <font color=green>100%</font> ||
| Rozkazy IN/OU (dekodowanie argumentów -> kanały) || <font color=green>100%</font> ||
|-
|-
| Szkielet kanałów i urządzeń || <font color=green>80%</font> || warstwa abstrakcji dla sterowników kanałów i urządzeń
| Szkielet kanałów i urządzeń || <font color=green>100%</font> || warstwa abstrakcji dla sterowników kanałów i urządzeń
|-
|-
| System przerwań || <font color=green>100%</font> ||
| System przerwań || <font color=green>100%</font> ||
Linia 39: Linia 39:
| Terminal znakowy || 0% ||
| Terminal znakowy || 0% ||
|-
|-
| Kanał pamięciowy || 0% ||
| Kanał pamięciowy || 10% ||
|-  
|-  
| Mera 9425 || 0% ||
| Mera 9425 || 0% ||
|-
|-
| Winchester w kanale pamięciowym (translacja adresów) || 0% ||
| Winchester w kanale pamięciowym (translacja adresów?) || 0% ||
|-
|-
| Bootstrap || 0% || Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora
| Bootstrap || 0% || Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora

Wersja z 22:41, 6 sty 2013

Debugger 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ń 100% warstwa abstrakcji dla sterowników kanałów i urządzeń
System przerwań 100%
Kanał znakowy 0%
Terminal znakowy 0%
Kanał pamięciowy 10%
Mera 9425 0%
Winchester w kanale pamięciowym (translacja adresów?) 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%
Logowanie 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%