EM400: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Linia 9: | Linia 9: | ||
Kolor zielony w stanie implementacji oznacza, że element jest już funkcjonalny | Kolor zielony w stanie implementacji oznacza, że element jest już funkcjonalny | ||
=== Emulator === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi | ! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi | ||
|- | |- | ||
| Konfiguracja emulatora || 0% || Plik konfiguracyjny EM400 | | Konfiguracja emulatora || 0% || Plik konfiguracyjny EM400 | ||
Linia 27: | Linia 27: | ||
| Rozkazy procesora || <font color=green>96%</font> || | | Rozkazy procesora || <font color=green>96%</font> || | ||
|- | |- | ||
| | | Konfiguracja programowa pamięci || <font color=green>100%</font> || | ||
|- | |- | ||
| | | Rozkazy IN/OU (dekodowanie argumentów -> kanały) || 50% || | ||
|- | |- | ||
| | | Szkielet kanałów || 0% || | ||
|- | |- | ||
| | | System przerwań || 10% || | ||
|- | |- | ||
| | | 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 | ||
|- | |- | ||
| | |} | ||
=== Debuger === | |||
{| class="wikitable" | |||
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi | |||
|- | |- | ||
| | | Szkielet || <font color=green>100%</font> || | ||
|- | |- | ||
| < | | Podgląd pamięci i rejestrów || <font color=green>100%</font> || | ||
|- | |||
| Disassembler || <font color=green>100%</font> || | |||
|- | |||
| Translator || <font color=green>100%</font> || nie-assemblerowy pseudokod | |||
|- | |||
| Load/save || 50% || | |||
|- | |||
| Breakpointy || <font color=green>100%</font> || | |||
|- | |- | ||
| | | Ncurses || <font color=green>100%</font> || ergonomiczny interfejs użytkownika | ||
|- | |- | ||
| | | Interpreter poleceń || <font color=green>100%</font> || nowa, bogatsza linia poleceń | ||
|- | |- | ||
| | | Śledzenie zmian w pamięci i rejestrach || 30% || | ||
|- | |- | ||
| | | Podgląd stosu || 0% || | ||
|- | |- | ||
| | |} | ||
=== Narzędzia === | |||
{| class="wikitable" | |||
! Obszar/Funkcjonalność !! Stan implementacji !! Uwagi | |||
|- | |- | ||
| | | Roboczy disassembler || <font color=green>100%</font> || Python | ||
|- | |- | ||
| | | <strike>Roboczy Assembler</strike> || 25% || porzucony na rzecz pełnoprawnego ASSEM | ||
|- | |- | ||
| | | ASSEM || 10% || | ||
|- | |- | ||
| | | Testy automatyczne CPU || 5% || | ||
|- | |- | ||
| | | Narzędzia do odczytu systemu plików CROOK-5 || <font color=green>100%</font> || | ||
|- | |- | ||
|} | |} |
Wersja z 16:51, 12 gru 2012
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 | 0% | Plik konfiguracyjny EM400 |
Linia poleceeń emulatora | 0% | Wywołanie 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) | 50% | |
Szkielet kanałów | 0% | |
System przerwań | 10% | |
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 |
Debuger
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 | 30% | |
Podgląd stosu | 0% |
Narzędzia
Obszar/Funkcjonalność | Stan implementacji | Uwagi |
---|---|---|
Roboczy disassembler | 100% | Python |
25% | porzucony na rzecz pełnoprawnego ASSEM | |
ASSEM | 10% | |
Testy automatyczne CPU | 5% | |
Narzędzia do odczytu systemu plików CROOK-5 | 100% |