EM400: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Linia 34: Linia 34:
|-
|-
| System przerwań || <font color=green>100%</font> ||
| System przerwań || <font color=green>100%</font> ||
|-
| Bootstrap || 0% || Niepotrzebny (?) ze względu na ładowanie obrazu do pamięci emulatora
|-
=== Emulator - urządzenia ===
{| class="wikitable"
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi
|-
|-
| Kanał znakowy || <font color=green>80%</font> ||
| Kanał znakowy || <font color=green>80%</font> ||
|-
| Kanał pamięciowy || <font color=green>80%</font> ||
|-
|-
| Terminal znakowy || 0% ||
| Terminal znakowy || 0% ||
|-
|-
| Kanał pamięciowy || <font color=green>80%</font> ||
|-
| 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
| PLIX? || 0% ||
|-
| MULTIX? || 0% ||
|-
| Winchester w PLIX-ie? || 0% ||
|-
|-
| Floppy 5.25"? || 0% ||
|}
|}



Wersja z 07:03, 27 lut 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

Emulator - urządzenia

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
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%
Testy automatyczne CPU 5%
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%